python易混易乱(2)

字符串切割成列表:

以str为分隔符切片mystr,如果maxsplit有指定值,则仅分割maxsplit个字符串,得到maxsplit个字符串的列表

利用字符串的split() 方法

  >>>mystr = "my name is duizhang"

  >>>ll = mystr.split(" ") #以空格为分隔符

  >>>print(ll)                 # ['my','name','is','duizhang']  

  1 其中mystr 可以是正则表达式

  >>> import re

  >>> pattern = re.complite(" ")  # 空格

  >>> res = pattern.split('my name is duizhang')

  >>> print(res) # ['my','name','is','duizhang']

  2 运用正则的另一张表达方法:

  >>>import re

  >>> pattern = " "

  >>> res = re.split(pattern, 'my name is duizhang')

  >>>print(res)

对字符串内容进行替换 字符串的replice()  正则的sub()

运用字符串的replace()方法 把mystr中的str1替换成str2  如果count指定 则替换不超过count次

  格式:mystr.replace(str1, str2, mystr.count(str1))

  >>>mystr = 'my name is duizhang'

  >>>mystr.replace('duizhang', 'xiaoma')

  >>>print(mystr)  # my name is xiaoma

运用正则 sub()方法

  格式1:pattern.sub(repl, string[, count])

  其中,reql可以是字符串 也可是函数

  • 如果reql是字符串,则会使用reql去替换字符串中的每一个匹配到的子串,并返回替换后的字符串,另外 reql也可使用id的形式来引用分组 但不能使用编号0
  • 如果reql是函数 这个方法应当只接受一个参数(Match对象) 并返回一个字符串用于替换(返回的字符串不能再引用分组)
  • count用于制定替换次数 默认全部替换

    >>> import re

  >>>pattern = re.complite('duizhang')

  >>>reql = 'xiaoma'

  >>>res = pattern.sub(reql, mystr)

  >>>print(res)

  格式2:re.sub(pattern, req, string, max)

  第一个参数是正则表达式或要替换的子串  第二个参数是要替换成的字符串 第三个参数是源字符串 max最大替换次数

  >>>import re

  >>>mystr = 'my name is duizhang'

  >>>pattern = 'duizhang'

  >>> res = re.sub(pattern, 'xiaoma', mystr)

  >>>print(res)   # 结果my name is xiaoma

  

原文地址:https://www.cnblogs.com/We612/p/9977611.html