python之替换函数
1. replace()
语法:
参数:
old – 将被替换的⼦字符串。
new – 新字符串,⽤于替换old⼦字符串。
max – 可选字符串, 替换不超过 max 次。(默认替换全部)
⽰例:
# 这个⽤起来最简单
str='abc abc aaa abcde 12345'
place('abc','OK'))
place('abc','OK',1))
OK OK aaa OKde 12345
OK abc aaa abcde 12345
2. re.sub()
re.sub()可以实现更复杂的替换,可⽤于正则替换
语法:
re.sub(pattern, repl, string, count=0, flags=0)
参数:
三个必选参数:
pattern:正则中的模式字符串
repl:被替换的内容,可以是字符串也可以是函数。(如果repl是字符串的话,其中的任何反斜杠转义字符,都会被处理的。) string:要被处理的字符串
两个可选参数:
count:要被处理的次数,默认替换所有
flags:匹配模式,可以使⽤按位或‘|‘表⽰同时⽣效,也可以在正则表达式中指定。
re.I忽略⼤⼩写
re.L表⽰特殊字符集\w,\W,\b,\B,\s,\S
re.M表⽰多⾏模式
re.S ‘.’包括换⾏符在内的任意字符
re.U表⽰特殊字符集\w,\W,\b,\B,\d,\D,\s,\D
# 这个⽤起来⽐较复杂
s ='abc abc aaa abcde 123 45'
new_s = re.sub('\d+','*',s)
print(new_s)
abc abc aaa abcde **
Python translate() ⽅法根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。
语法:
参数:
table – 翻译表,翻译表是通过maketrans⽅法转换⽽来。
deletechars – 字符串中要过滤的字符列表。
⽰例:
s ='abc abc aaa abcde 12345'
字符串replace函数t =str.maketrans('abc','123')
new_s = s.translate(t)
print(new_s)
123123111123de12345
这⾥有个问题要注意⼀下,translate实际上是⼀个翻译的⽅法,虽然拿来做替换也是⽆可厚⾮的,不过要注意的是它的元素是⼀⼀对应的,因此⽤于转换也是针对单个元素的,即使abc不连在⼀起,只要发现其中⼀个就会转换成对应的新元素,这⼀点就是和replace不同的地⽅。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论