c# – 如何拆分字符串并保留分隔符?
发布时间:2020-12-15 19:39:07 所属栏目:百科 来源:网络整理
导读:我知道你看到很多像我这样的问题,但我希望我的有点不同.我正在翻译,我想将文本分成句子,但是当我编写这段代码时: public static string[] GetSentences(string Text){ if (Text.Contains(". ") || Text.Contains("? ") || Text.Contains("! ")) return Text
我知道你看到很多像我这样的问题,但我希望我的有点不同.我正在翻译,我想将文本分成句子,但是当我编写这段代码时:
public static string[] GetSentences(string Text) { if (Text.Contains(". ") || Text.Contains("? ") || Text.Contains("! ")) return Text.Split(new string[] { ". ","? ","! " },StringSplitOptions.RemoveEmptyEntries); else return new string[0]; } 它删除了“.”,“?”,“!”.我想保留他们我怎么能这样做. 注意:我想用“.”点和空格分隔,“?”问号和空格…… 解决方法
很简单,先替换它们.我会用“|”为了便于阅读,您可能想要使用更具异国情调的东西.
// this part could be made a little smarter and more flexible. // So,just the basic idea: Text = Text.Replace(". ",". |").Replace("? ","? |").Replace("! ","! |"); if (Text.Contains("|")) return Text.Split('|',StringSplitOptions.RemoveEmptyEntries); 我想知道else返回新的字符串[0];,这看起来很奇怪.假设当没有分隔符时你希望返回输入字符串,你应该删除if / else构造. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |