我想用一个特定的字符分割句子,但只要这个字符没有用作排除列表中包含的单词的一部分。例如,我想用句号“。”来分割句子。但我只是在“博士”或“教授”之后没有使用它。例如:
“我是物理学博士,我叫 Sheldon Cooper。我在帕萨迪纳大学工作。”
所以正则表达式应该只在“Cooper”之后被句号分割,而不是在“Dr”之后。
您可以使用否定的lookbehind:
a = "Im a Dr. of Physics and my Name is Sheldon Cooper. Im working at the University of Pasadena."
a.split(/(?<!Dr|Prof)\./)
#=> ["Im a Dr. of Physics and my Name is Sheldon Cooper", " Im working at the University of Pasadena"]
您可以单独定义标题。没有其他方法可以做到这一点。你应该这样设置:Dr|Prof|Assoc