Python 中的正则表达式替换方法

Python 中的正则表达式替换方法

在本教程中,我们将研究 re.sub() 方法的用法和功能,并研究示例代码。Python 的 re 模块使用正则表达式为 Unicode 和 8 位字符串提供了各种功能。功能包括字符串替换,拆分和匹配等。

在 Python 中使用 re.sub() 方法进行正则表达式替换

re.sub(pattern, repl, string, count=0) 方法以 string 作为输入,并将 pattern 的最左边出现的内容替换为 repl。如果在 string 参数中未找到 pattern,则返回 string,而无需进行任何更改。

pattern 参数必须采用正则表达式的形式。repl 可以是字符串或函数。如果 repl 参数是一个字符串,则 string 中的 pattern 将被 repl 字符串替换。如果将函数作为 repl 参数传递,则一旦发现 pattern 就会调用该函数。该函数以 matchObject 作为输入并返回替换字符串。如果找到匹配项,则 matchObject 的值将等于 True,否则,其值将等于 None。

可选的 count 参数表示我们要在 string 中替换的 pattern 的最大出现次数。

下面的示例代码演示了如何使用 re.sub() 方法使用正则表达式替换字符串中的某些模式:

import re

string = "Hello! How are you?! Where have you been?!"

new_string = re.sub(r"""[!?'".<>(){}@%&*/[/]""", " ", string)

print(new_string)

输出:

Hello How are you Where have you been

上面的代码示例删除了 pattern 参数中指定的带有空格的字符,这是上面代码中的 repl 参数。

我们还可以将函数用作 repl 参数来执行相同的任务,只要发现 repl 参数出现就返回 " ",如以下示例代码所示:

import re

def repl_func(match):

if match == True:

return " "

string = "Hello! How are you?! Where have you been?!"

new_string = re.sub(r"""[!?'".<>(){}@%&*/[/]""", repl_func, string)

print(new_string)

输出:

Hello How are you Where have you been

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe

相关文章

戴尔笔记本电脑重装win10系统详细记录
365bet娱乐app

戴尔笔记本电脑重装win10系统详细记录

📅 07-03 👁️ 4220
雪梨网怎么赚钱:雪梨网app转发文章教程
365bet娱乐app

雪梨网怎么赚钱:雪梨网app转发文章教程

📅 06-27 👁️ 6659
可乐为什么会冒泡?
beat365官方入口

可乐为什么会冒泡?

📅 06-28 👁️ 2573
解锁Android潜能:揭秘轻松获取root权限的实用命令指南
365bet.com最快线路检测中心

解锁Android潜能:揭秘轻松获取root权限的实用命令指南

📅 06-27 👁️ 2340
今夜哪里有鬼系列Ⅰ
365bet娱乐app

今夜哪里有鬼系列Ⅰ

📅 06-27 👁️ 424
雪女哪里多阴阳师
beat365官方入口

雪女哪里多阴阳师

📅 06-27 👁️ 9991