【问题标题】:Splitting these string without clobbering split param's? [duplicate]拆分这些字符串而不破坏拆分参数? [复制]
【发布时间】:2011-11-30 06:38:23
【问题描述】:

可能重复:
How to split a string while preserving line endings?
How do I split a string by strings and include the delimiters using .NET?

我将文本拆分成句子。 mystring.Split('.','!', '?') 返回没有 ./!/? 的句子在他们。我需要让它返回一个带有拆分参数的句子吗?怎么样?谢谢

public static string[] GetSentences(string text)
{
    return text.Split('.', '!', '?'); 
}

我可以想到一种方法,通过组合两个单独的数组,但我认为它看起来很糟糕,所以我想我会问你专业人士一个“正确”的方法:D

编辑 - 没关系关闭它的副本。我找到了其他线程,对不起

【问题讨论】:

  • 发布您的解决方案怎么样?
  • 请注意,. 并不总是意味着句子的结尾。它也可以出现在句子的中间,例如在缩写词之后。如果您想要更准确的结果,您可能需要考虑使用自然语言库。

标签: c# .net


【解决方案1】:

对,string.Split() 在这里不是正确的工具。

要么简单地循环遍历它(string.IndexOf())

或使用正则表达式:([^\.!?]+[\.!?])*

我对逃跑不是 100% 确定的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 2014-01-12
    相关资源
    最近更新 更多