zoukankan      html  css  js  c++  java
  • Python的替换函数——strip(),replace()和re.sub()(转)

    原文地址: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.当参数为空时(即括号里没东西),默认删除空白符(包括'
    ', '
    ',  '	',  ' '),但是只能删除开头和结尾的,不能删除字符串中间的。如下图:
    

    在这个例子里,开头和结尾的空格都被去掉了,但是几个英文字符串间的空格并没有被去掉,这就是strip()函数的一个缺陷,它并不能删除字符串中间的空格。
    3.strip()这个函数还有两个版:lstrip()和rstrip(),分别是用来删除开头的“其他字符”的,如下图:
    

  • 相关阅读:
    字符串替换
    字符串查找
    字符串比较
    字节与字符串相互转换
    1365. How Many Numbers Are Smaller Than the Current Number
    1486. XOR Operation in an Array
    1431. Kids With the Greatest Number of Candies
    1470. Shuffle the Array
    1480. Running Sum of 1d Array
    【STM32H7教程】第56章 STM32H7的DMA2D应用之刷色块,位图和Alpha混合
  • 原文地址:https://www.cnblogs.com/nyist-xsk/p/7419354.html
Copyright © 2011-2022 走看看