【发布时间】:2019-06-27 18:29:20
【问题描述】:
如何将某些句点替换为空格而不是所有句点?
例如:
this_string = 'Man is weak.So they die'
that_string = 'I have a Ph.d'
这里我想要这样的结果:
this_string = 'Man is weak So they die'
some_string = 'I have a Phd'
我希望像 Ph.d 这样的标题保留为一个单词,而将连接 2 个句子的句点替换为空格。
这是我目前所拥有的:
re.sub('[^A-Za-z0-9\s]+',' ', this_string)
这会将所有句点替换为空格。
知道如何改进吗?
【问题讨论】:
-
“某些句点”的规则是什么,在你的例子中只有小写字母之间的句点被替换,这是规则吗?
-
这有点难,因为它要求你的程序识别单词的含义。
-
没有确切的规则。它可以在小写或大写之间。所以Ph.D或Ph.d.
-
我认为你最好尝试搜索和替换特定的已知短语(例如
Ph.D不区分大小写)而不是尝试告诉计算机找到weak.So和@987654326之间的区别@