python常用的幾種字串替換函式strip、replace、sub
阿新 • • 發佈:2019-01-03
#!/usr/bin/env python
# coding:utf-8
import re
'''
功能:對常見的幾種字串處理函式進行測試使用學習
Author:沂水寒城
'''
def str_test():
str_list=['We are family!!!', '00 11 22 33 44 55 66 77 88 99',
'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
str_dict={
'!!!':'$$$',
' ':'@',
'T':'t',
'L':'&'
}
#使用replace
'''
基本用法:物件.replace(rgExp,replaceText,max)
rgExp和replaceText是必須要有的,max是可選的引數
'''
str_list1=str_list
res_list=[]
for one_str in str_list1:
for key in str_dict:
one_str = one_str.replace(key, str_dict[key])
res_list.append(one_str)
print '**************replace替換結果為:*********************'
print str_list1
print res_list
#使用re
'''
re.sub()有5個引數,三個必選引數pattern,repl,string;兩個可選引數count,flags
re.sub(pattern,repl,string,count,flags)
pattern:表示正則表示式中的模式字串;
repl:被替換的字串,或者是一個方法(既可以是字串,也可以是函式);
當repl為字串的時候,也就是需要 將string中與pattern匹配的字串都替換成repl
當repl為方法的時候,就必須是一個帶有一個引數,且引數為MatchObject型別的方法,該方法需要返回一個字串。
string:要被處理的,要被替換的字串;
count:指的是最大的可以被替換的匹配到的字串的個數,預設為0,就是所有匹配到的字串。
flgas:標誌位
'''
str_list2=str_list
res_list=[]
pattern_rule=re.compile(r'!!!')
for one_str in str_list2:
one_str = re.sub(pattern_rule, '$$$', one_str)
res_list.append(one_str)
print '**************sub替換結果為:*********************'
print str_list2
print res_list
#使用strip()
'''
個人使用strip()很久了,感覺這個函式在一些事比如字串末尾換行符去除等方面出奇的好用,
它並不算是一個純正意義上跟上面兩個函式類似的字串處理的函式,但是用於字串尾部刪除等方面的時候
效果還是很不錯的
'''
str_list3=str_list
res_list=[]
for one_str in str_list3:
one_str=one_str.strip('!!!')
res_list.append(one_str)
print '**************strip替換結果為:*********************'
print str_list3
print res_list
str_test()