python 的sub函数详解

  • Post category:Python

下面是关于Python中sub函数的详细讲解。

什么是sub函数?

Python的re模块提供了sub函数,用于在字符串中查找匹配的子串,并用指定的字符串替换它们。sub的全称是substitute,即将所匹配到的字符替换为指定的字符。

sub函数的语法

sub函数的语法如下:

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

其中,pattern参数是正则表达式,用于匹配要替换的字符串;repl参数是指定要替换成的字符串;string参数是要被搜索的字符串。

count和flags是可选参数,count表示替换的次数,默认是全部替换。flags表示正则表达式的匹配模式,例如re.I表示不区分大小写。

sub函数的使用示例

下面是两个对sub函数使用的示例:

示例一:替换所有匹配的字符串

import re

msg = "hello world, hello python, hello everyone"
msg_new = re.sub('hello', 'hi', msg)

print(msg_new)

输出结果如下:

hi world, hi python, hi everyone

在上述示例中,我们使用正则表达式’hello’匹配出了所有出现的’hello’子串,并将它们替换成了’hi’,从而生成了一个新的字符串。

示例二:使用函数来生成替换的字符串

import re

def double(matchobj):
    return matchobj.group(0) * 2

msg = "hello world, hello python, hello everyone"
msg_new = re.sub('hello', double, msg)

print(msg_new)

输出结果如下:

hellohello world, hellohello python, hellohello everyone

在上述示例中,我们使用正则表达式’hello’匹配出了所有出现的’hello’子串,并通过传入一个函数double给re.sub()函数来生成替换成的字符串,函数double的作用是将每个匹配到的字符串重复一遍。