Python正则表达式在句点后添加空格

6 投票
3 回答
5580 浏览
提问于 2025-04-16 20:09

我想知道怎么用 re 这个模块在Python中写一个正则表达式,来找到这样的模式:

一个点号“.”后面紧跟着任意一个字母 [a-zA-Z](不能是空格或数字)

然后在点号和字母之间加一个空格?

比如:

str="Thanks.Bob"
newsttr="Thanks. Bob"

谢谢大家,

Zvi

3 个回答

2

试试这个

re.sub(r"\.([a-zA-Z])", ". \\1", "Thanks.Bob")
6

这段代码的意思是……

首先,它定义了一些变量,这些变量就像是用来存储信息的盒子。你可以把它们想象成你在写作业时用来记录答案的地方。

接下来,代码中会有一些操作,这些操作就像是你在做数学题时的计算步骤。它们会对之前存储的信息进行处理,得到新的结果。

最后,代码会输出结果,这就像是你完成作业后把答案写在纸上一样。这样,别人就可以看到你做的结果了。

总之,这段代码的主要功能就是处理一些信息,并把结果展示出来。

re.sub('(?<=\.)(?=[a-zA-Z])', ' ', str)
16

这段代码的意思是用来处理字符串中的某些内容。具体来说,它会找到所有以点(.)开头,后面跟着一个字母的地方,然后在这个点和字母之间加一个空格。

举个例子,如果原来的字符串是“Hello.World”,经过这段代码处理后,就变成了“Hello. World”。

这里的`re.sub`是一个函数,用来替换字符串中的内容。`r'\.([a-zA-Z])'`是一个规则,表示我们要找的模式:点后面跟着一个字母。`r'. \1'`则是替换的格式,意思是把找到的点和字母之间加一个空格,`\1`代表找到的那个字母。

撰写回答