加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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构造.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读