说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
Python 字符串对象的 replace() 方法将字符串中每个匹配的旧字符替换为新字符,这个操作在文本数据中经常会使用到。它不是一个原地操作,返回的是一个新的对象,原始字符串保持不变。
以下是一些使用示例:
'Good boy'.replace('Good', 'Bad')
# 'Bad boy'
# 不存在的不替换
'Good boy'.replace('Bad', 'Good')
# 'Good boy'
# 只替换一个
'abcabc'.replace('a', 'A', 1)
# 'Abcabc'
# 去掉空格
'a b c'.replace(' ', '')
# 'abc'
# 所有字符间添加 new 值
'abcabc'.replace('', 'A')
# 'AaAbAcAaAbAcA'
# 不替换(次数传0)
'abcabc'.replace('a', 'A', 0)
# abcabc
# 次数传负值全部替换
'abcabc'.replace('a', 'A', -1)
'abcabc'.replace('a', 'A', -999)
# 'AbcAbc'
语法为:
str.replace(old, new[, count])
返回字符串的副本,其中:
old 和 new 必须是字符串,count 为整型。
此方法不支持正则,如果需要正则表达式进行替换,可以使用 re.sub()
等方法。
在 Python 3.13 之前(学习时注意你当前的 Python 版本),count 不能作为关键字参数,如:
>>> "aa".replace("a", "b")
'bb'
>>> "aa".replace("a", "b", 1)
'aa'
>>> "aa".replace("a", "b", count=1) # 作为关键字参数会报错
# TypeError: str.replace() takes no keyword arguments
在 3.13 开始,它可以当关键字来传入:
>>> "aa".replace("a", "b")
'bb'
>>> "aa".replace("a", "b", 0)
'aa'
>>> "aa".replace("a", "b", 1)
'ba'
>>> "aa".replace("a", "b", 2)
'bb'
>>> "aa".replace("a", "b", count=2) # 不报错
'bb'
更新时间:2024-07-01 17:27:01 标签:python replace 字符串 替换