在Python中常用的三个“替换”函数是strip(),replace()和re.sub(),下面来讲讲这三个函数的用法。
一.replace()
基本用法:对象.replace(rgExp,replaceText,max)
其中,rgExp和replaceText是必须要有的,max是可选的参数,可以不加。
rgExp是指 String 对象或文字;replaceText是一个String 对象或字符串文字;max是一个数字。对于一个对象,在对象的每个rgExp都替换成replaceText,从左到右最多max次。
下面给出例子:
二.re.sub()
要用sub(),记住要import re哦!
re.sub()有5个函数,三个必选参数pattern,repl,string;两个可选参数count,flags
re.sub(
pattern,repl,string,
count,flags
)
pattern:表示正则表达式中的模式字符串;
repl:被替换的字符串(既可以是字符串,也可以是函数);
string:要被处理的,要被替换的字符串;
count:匹配的次数
flgas:(我没找到关于这个参数的说明,有知道的读者可以在评论里附一下链接吗?)
调用sub()除了可以用re.sub(),还可以如上例子中的c一样,用re.compile()模式函数。
更多关于re.sub()函数的问题可以看这里,这个sub()函数的很多资料我都是看这里的:
http://www.crifan.com/python_re_sub_detailed_introduction
三.strip()
strip()并不是一个真正意义上的替换函数,它是用来删除一些字符的,所以我们可以把这看作是把字符串中的一些字符替换成空(不是空格,是空),有些时候,strip()用起来很方便。
对于这个函数要记住3点:
1.
如果我们想要删除位于首位的其他字符,我们可以用"对象.strip(其他字符)",它将删除所有包含在“其他字符”中的字符,当然只删除位于首位的字符。如果首位有空格,就无法删除这些字符了。
如上图,因为字符串s1中,开头有空格,所以在替换字符‘0G’的时候没法替换,而s2因开头没有空格,所以能把‘0’和‘G’全部替换了。
2.当参数
为空时
(即括号里没东西),默认删除空白符(包括'\n', '\r', '\t', ' '),但是只能删除开头和结尾的,不能删除字符串中间的。如下图:
在这个例子里,开头和结尾的空格都被去掉了,但是几个英文字符串间的空格并没有被去掉,这就是strip()函数的一个缺陷,它并不能删除字符串中间的空格。
3.
strip()这个函数还有两个版:lstrip()和rstrip(),分别是用来删除开头的“其他字符”的,如下图:
以上是我学习的时候的一点小总结,如果你有其他意见或者发现我有什么是漏掉的知识点欢迎在评论下说一说,谢谢!
在Python中常用的三个“替换”函数是strip(),replace()和re.sub(),下面来讲讲这三个函数的用法。一.replace()基本用法:对象.replace(rgExp,replaceText,max)其中,rgExp和replaceText是必须要有的,max是可选的参数,可以不加。rgExp是指 String 对象或文字;replaceText是一个String...
replace
() 方法把字符串中的 old(旧字符串)
替换
成 new(新字符串),如果指定第三个参数max,则
替换
不超过 max 次。
replace
()方法语法:
str.
replace
(old, new[, max])
old — 将被
替换
的子字符串。
new — 新字符串,用于
替换
old子字符串。
max — 可选字符串,
替换
不超过 max 次
返回字符串中的 old(旧字符串)
替换
成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则
替换
不超过 max 次。
以下实例展示了
replace
()
函数
的使用方法:
#!/usr/bin/
str.
replace
(old, new, num)
Python
replace
() 方法把字符串中的 old(旧字符串)
替换
成 new(新字符串),如果指定第三个参数max,则
替换
num 次。
str = 'hello world!! <i love you>'
print(str.
replace
('!',',',1))
Python
中
replace
() 方法把字符串中的 old(旧字符串)
替换
成 new(新字符串),如果指定第三个参数max,则
替换
不超过 max 次。
str # 某一个字符串
str.
replace
(old,new,max) # 将str中的old换成new,最多换max次
str = "this is
string
example....wow!!! this is really
string
"
res1 = str.
replace
("is", "was") # is换was,不限次
re.
sub
(pattern, repl,
string
, count=0, flags=0)
其中,pattern为正则表达式,repl为
替换
的字符串,
string
为要进行
替换
的原始字符串,count为
替换
的次数(默认为0,表示全部
替换
),flags为正则表达式的匹配模式。
re.
sub
函数
会在
string
中查找与pattern匹配的子串,并将其
替换
为repl。如果count不为0,则只
替换
前count个匹配的子串。
import re
s = 'hello world'
s = re.
sub
('world', '
python
', s)
print(s)
输出结果为:
hello
python
以上就是re.
sub
函数
的用法。