Python的替换函数——strip(),replace()和re.sub()(转)

python

http://blog.csdn.net/zcmlimi/article/details/47709049

在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:匹配的次数

#re.sub()匹配到对象并做一定的改变

In [1]: import re

In [2]: def replace(result):

...: print(result.group())

...: r = int(result.group()) + 50

...: return str(r)

...:

In [3]: re.sub(r"\d+", replace, "x=100, y=50")

100

50

Out[3]: 'x=150, y=100'

In [4]:

调用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()(转) 的全部内容, 来源链接: utcz.com/z/387424.html

回到顶部