關於string的split 和 join 方法
對導入os模塊進行os.path.splie()/os.path.join() 貌似是處理機制不一樣,但是功能上一樣。
1.string.split(str=' ',num=string.count(str)): 以str為分隔,符切片string,如果num有指定值,則僅分隔num個子字符串。
S.split([sep [,maxsplit]]) -> 由字符串分割成的列表 返回一組使用分隔符(sep)分割字符串形成的列表。如果指定最大分割數,則在最大分割時結束。
如果分隔符未指定或者為none,則分隔符默認為空格。
注意:分隔符不能為空,否則會出錯,但是可以有不含其中的分隔符。
os.path.split()
os.path.split是按照路徑將文件名和路徑分割開,比如d:\\python\\python.ext,可分割為['d:\\python', 'python.exe']
import os print os.path.split('c:\\Program File\\123.doc') print os.path.split('c:\\Program File\\') -----------------output--------------------- ('c:\\Program File', '123.doc') ('c:\\Program File', '')
2.string.join(sep): 以string作為分割符,將sep中所有的元素(字符串表示)合並成一個新的字符串。
將join里字符串、元祖、列表的所有元素通過分隔符連接成一個新的字符串(字符串、元祖、列表它們是序列類型,有着相同的訪問方式)
os.path.join(path1[,path2[,......]]) 將多個路徑組合后返回,第一個絕對路徑之前的參數將被忽略。
5 >>> os.path.join('c:\\', 'csv', 'test.csv') 6 7 'c:\\csv\\test.csv' 8 9 >>> os.path.join('windows\temp', 'c:\\', 'csv', 'test.csv') 10 11 'c:\\csv\\test.csv' 12 13 >>> os.path.join('/home/aa','/home/aa/bb','/home/aa/bb/c') 14 15 '/home/aa/bb/c'
例子:
寫一個函數,參數為一個長字符串和一個word,將長字符串中是word的改為對應字母個數的**,比如,長字符串為“this hack is wack hack
”,word為“hack”,那么要求函數輸出:“this **** is wack ****”
def censor(text,word): texts = text.split(" ") for i in range(len(texts)):if texts[i] == word: texts[i] = "*" * len(word) return " ".join(texts)
print censor("hey hey hey","hey")
輸出:
*** *** ***