我希望获得一个将文本分成句子的正则表达式,留在标点符号中(在标点符号后打破空格但不打破标题。
我几乎就在那里。@"(?<=[\.!;\?])\s+"
在空格上分裂,但也会在标题上分割。
@"(?<!Mr|Mrs|Dr|Ms|St|a|p|m|K)\.|;"
不会对标题进行拆分,但会删除标点符号。
有关组合这两个表达式的任何建议,以便正则表达式在标点符号后在空格上分割,但不会在标题上拆分?
示例文字:
所有品种中的偷懒和鲨鱼已被播种播出 命运多me的事业;甚至那些已经考虑过它的历史的人 从这种邪恶的最外层圈子已经不知不觉地受到诱惑 陷入一种松散的方式让坏事独自承担自己的坏事 当然,还有一种宽容的信念,即如果世界出了问题,那就是在某些方面 副手的态度从未意味着正确。
因此,在泥泞的中间和雾的中心,坐着 高级大法官在他的高等法院。
&#34;先生。缠结,&#34;高级大法官说,后来是什么 在这位学识渊博的绅士的口才下躁动不安。
&#34; Mlud,&#34;特朗先生说。 Tangle先生更了解Jarndyce和 Jarndyce比任何人都多。他以它闻名 - 应该永远不会有 自从他离开学校后再读其他任何东西。
&#34;你几乎已经结束了你的论点?&#34;
&#34; Mlud,没有 - 各种各样的观点 - 认为这是我的责任tsubmit - ludship,&#34;是 从Tangle先生那里退出的答复。
&#34;我相信酒吧的几位成员仍然会被听到?&#34;说 大臣带着微笑。
答案 0 :(得分:1)
这有效地结合了您正在寻找的内容:
@"(?<!(?:Mr|Mr.|Dr|Ms|St|a|p|m|K)\.)(?<=[.!;\?])\s+"
但是,我认为它不可靠。如果一个句子用&#34; abaracadabra。&#34;?
这样的句子结束怎么办?答案 1 :(得分:1)
好的,这有效:
(?<=[\.!;\?])(?<!Mr\.|Mrs\.|Dr\.|Ms\.|St\.)\s+