我想将文本拆分成句子。对于一个简单的例子,我有以下代码:
Regex.Split (input, @ "(? <= [\.! \?])");
然而,这仅处理以单个字符结尾的句子,而我希望能够处理以&#34;。&#34;,&#34; ...&#34结尾的句子。 ;,&#34;!&#34;,&#34;!..&#34;,&#34;?&#34;,&#34;?..&#34;,&#34; ?!&#34;,&#34;?!。&#34;,&#34;!?&#34;,&#34;!?。&#34;,&#34;‽&#34 ;或&#34;‽..&#34;。
对于只有&#34;的简单情况。&#34;和#34; ...&#34;,例如&#34;快速的棕色狐狸。简单的方法去... ... Qwerty。&#34;,我写了下面的代码:
string [] sentences = Regex.Split (input, @ "(? <= \. \. \. | \.)");
但是,这会将字符串拆分如下:
我想要这个:
我应该如何编写正则表达式来执行此操作?
所以解决方案
(?<=\.)\s*(?=[^.])