python - 当句号介于两个字母之间时,使用正则表达式插入一行

标签 python python-3.x

我正在尝试制作一个正则表达式来解析一个字符串,并为夹在两个字母之间的每个句点插入两个新行。

例如:

string_var = 'This is my first sentence.This is my second sentence.This is my third sentence. This is my fourth sentence.This is my fifth sentence.'

除第四句外,每句话的最后一个词、句号和下一句的第一个词之间没有空格。我想要输出:

string_var = 'This is my first sentence.

This is my second sentence.

This is my third sentence. This is my fourth sentence.

This is my fifth sentence.'

有谁知道我怎样才能做到这一点?

最佳答案

这会将两个换行符添加到由两个字母(技术上任何字母数字字符或下划线)包围的句点:

re.sub(r'(?<=\w)\.(?=\w)', ".\n\n", string_var)

这利用了环顾四周:它查看每个句点,并且仅当它前面的字符是字母且后面的字符是字母时才匹配。这些匹配器只是看起来,并没有被替换文本替换。

关于python - 当句号介于两个字母之间时,使用正则表达式插入一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49035304/

相关文章:

python - Python 正则表达式模块使用 BRE 还是 ERE?

python - 使用脚本登录网站

python - 为什么 Python dict 在存储超过 550k 键时会消耗更多内存

javascript - 如何为网页 <select> 框创建复杂的数据绑定(bind)?

python - 在没有numpy的情况下更改对角线方阵 - Python

javascript - 使用 Javascript 根据 SQL 数据库中的数据更改输入属性来实时更新 HTML 表

python - 如何使用 python 在多个打开的 powerpoint 演示文稿之间切换?

python - 如何增加文本小部件中的字体大小?

python - 为什么它不打印没有重复元组的元组列表?

ubuntu 中 crontab 中的 Python3 脚本