我有这样一段文字
问:我是某某,你好
答:明白。
问:你的个人简历?
答:我叫张三,手机1388888888
我只想要'问:'的东西,其它都不要,请问这样改怎么操作???
求大神指教
我想请问我说的这句话,后面的字符是什么?
提问,总要将问题说清楚吧。你问题都不说清楚,别人怎么帮你。
意思就是我只要取问的问题,回答不需要
首先,你这些字符串是如何存贮的?如果是存贮在一个字符串中,可以采用下面的方法:
字符串基本操作,先查找“问:”,再查找回车换行符,中间的内容就是你想要的。
Regex.Match(str,"^问:[^\r\n]+")
string s = @"问:我是某某,你好
答:明白。
问:你的个人简历?
答:我叫张三,手机1388888888";
string result = string.Join("\r\n", s.Split(new string[] { "\r\n" }, StringSplitOptions.None).Where(x => x.StartsWith("问")));
用一个正则表达式很轻松就搞定了,如果不会正则,就用递归一段一段截取
static void GetStr(ref string s)
{
int AskIndex = s.IndexOf("问:");
int AnswerIndex = s.IndexOf("答:");
if (AskIndex < 0)
return;
string result = string.Empty;
if (AnswerIndex < 0)
{
result = s.Substring(AskIndex + 2);
s = s.Substring(AskIndex + 2);
}
else
{
if (AnswerIndex <= AskIndex)
{
result = s.Substring(AskIndex + 2);
s = s.Substring(AskIndex + 2);
}
else
{
result = s.Substring(AskIndex + 2, AnswerIndex - 2 - AskIndex);
s = s.Substring(AnswerIndex + 2);
}
}
Console.WriteLine(result);
GetStr(ref s);
}