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