问题描述
- C#对很长的字符的操作
- 我有这样一段文字
问:我是某某,你好
答:明白。
问:你的个人简历?
答:我叫张三,手机1388888888
我只想要'问:'的东西,其它都不要,请问这样改怎么操作???
求大神指教
解决方案
我想请问我说的这句话,后面的字符是什么?
提问,总要将问题说清楚吧。你问题都不说清楚,别人怎么帮你。
解决方案二:
首先,你这些字符串是如何存贮的?如果是存贮在一个字符串中,可以采用下面的方法:
字符串基本操作,先查找“问:”,再查找回车换行符,中间的内容就是你想要的。
解决方案三:
意思就是我只要取问的问题,回答不需要
解决方案四:
Regex.Match(str^问:[^rn]+"")
解决方案五:
string s = @""问:我是某某,你好答:明白。问:你的个人简历?答:我叫张三,手机1388888888"";string result = string.Join(""rn"" s.Split(new string[] { ""rn"" } 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); }
时间: 2024-11-01 07:13:04