我想将文本拆分为句子,每个句子以.
结尾,但不包括带小数点的数字。
我使用了分割功能。但它将数字分成两部分,我不想分割数字。
示例:
我的包装每天85.5,如何使用它。任何身体 有一个想法。请告诉我。
应分为:
我的包装每天85.5,如何使用它
任何机构都有这个想法
请让我知道
答案 0 :(得分:2)
德米特里·拜琴科的答案很简单,但是它会在之后失去一个角色。(点)
var regex = new System.Text.RegularExpressions.Regex(@"(?<!\d)\.(?!\d)");
var myText = @"My package a mount is 85.5 daily, how can I make use of it. any body has an idea for that. please let me know.";
Console.WriteLine(regex.Replace(myText, Environment.NewLine));
它将仅消耗。(点)字符,该字符不会被跟随,也不会以数字开头。
答案 1 :(得分:1)
您可以使用&#34;句号空间&#34;作为分隔符:
string source = "My package amount is 85.5 daily, how can I make use of it. Anybody has an idea for that? Please let me know.";
string[] splits = Regex.Split(source, @"[\.?!]\s+");
这句话也以!
或?
结尾,并且任意数量的空格(以及其他空白字符)至少为1。
如果您想保留句点,请搜索前面有该行尾符号的空格:
string[] splits2 = Regex.Split(source, @"(?<=[\.?!])\s+");