📜  str 替换 python 正则表达式 - Python (1)

📅  最后修改于: 2023-12-03 15:20:21.369000             🧑  作者: Mango

正则表达式替换字符串

在Python中,我们可以使用正则表达式来查找和替换字符串中的内容。下面是一些常用的正则表达式替换操作:

re.sub()

re.sub()函数可以用于替换字符串中与正则表达式匹配的所有内容。语法如下:

re.sub(pattern, repl, string, count=0, flags=0)

其中,pattern表示需要匹配的正则表达式,repl表示替换后的字符串,string表示需要进行替换的字符串。count和flags分别表示最大替换次数和正则表达式匹配的标志位。

例如,我们可以使用re.sub()函数将字符串中的所有空格替换为下划线:

import re

text = 'Hello, world! How are you?'
new_text = re.sub(r'\s+', '_', text)
print(new_text)  # 输出:Hello,_world!_How_are_you?

在上面的示例中,我们使用了\s+正则表达式来匹配所有空格,然后使用下划线替换它们。

re.subn()

re.subn()函数与re.sub()函数类似,但是它返回了一个元组,其中第一个元素是替换后的字符串,第二个元素是替换的次数。

例如,我们可以使用re.subn()函数统计要替换的字符数量:

import re

text = 'Hello, world! How are you?'
new_text, count = re.subn(r'\s+', '_', text)
print(new_text)  # 输出:Hello,_world!_How_are_you?
print(count)  # 输出:3

在上面的示例中,我们统计了替换了多少个空格。

re.escape()

re.escape()函数可以将字符串中的所有特殊字符转义,以便于正则表达式进行匹配。例如:

import re

text = 'Hello, world! How are you?'
pattern = re.escape('world!')
new_text = re.sub(pattern, 'universe', text)
print(new_text)  # 输出:Hello, universe! How are you?

在上面的示例中,我们使用re.escape()函数将字符串world!中的!字符转义,然后使用re.sub()函数将其替换为universe。

以上是一些常用的正则表达式替换操作,您可以根据需要选择相应的函数来进行处理。