1. 程式人生 > >python易混易亂(2)

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