python3字符串的子串查找、替換、刪除、分割、連接相關方法
# 字符串的查找、替換、刪除相關方法
#-------- 查找相關方法--------
s = 'crazyit.org is a good site'
print(s.startswith('crazyit')) #判斷s的子串是否以crazyit開頭,返回True或False
print(s.endswith('site')) # 判斷s的子串是否以site 結尾,返回True或False
print(s.find('org')) #查找s的子串org 出現的位置,找不到返回-1
print(s.index('org')) #查找s的子串org 出現的位置,找不到返回ValueError 錯誤
print(s.find('org', 9 )) #從索引第 9 處開始查找org 是否有出現的位置
#print(s.index('org', 9 )) #從索引第 9 處開始查找org 是否有出現的位置,找不到返回ValueError 錯誤
#---------- 替換相關方法---------
print(s.replace('it','xxxx')) #將字符串中的所有 it 替換成 xxxx
print(s.replace('it','xxxx', 1 )) #將字符串中 1 個 it 替換成 xxxx
#定義翻譯映射表:{97 -> (a) : 945 -> (α) , 98 -> (b) : 946 -> (β) , 116 -> (t) : 964 -> (τ)}
table = {97: 945, 98: 946, 116: 964}
print(s.translate(table)) #使用指定的翻譯映射表對字符串執行替換
#str類 提供了一個maketrans()方法可以非常方便地創建翻譯射表。
table = str.maketrans('abc', '$@~')
print(table)
table = str.maketrans('abc', '357')
print(table)
# 程序只要將需要映射的所有字符作為maketrans()方法的第一個參數,
# 將所有映射的目標字符作為maketrans()方法的第二個參數即可。
st = 'crazyit.org is a good site'
table = str.maketrans('iot','***')
print(st.translate(table))
#-------- 刪除空白、字符相關方法--------
s = ' this is a puppy '
# 刪除空白的例子
print(s.lstrip()) #刪除字符串左邊空白
print(s.rstrip()) # 刪除字符串右邊空白
print(s.strip()) #刪除字符串兩邊的空白
print(s) #再次打印輸出s時,看到 s 並沒有什麼改變
# 示範刪除字符串前後指定後指定字符的功能
s2 = 'i think it is a scarecrow'
print(s2.lstrip('itow')) # 刪除左邊字符
print(s2.rstrip('itow')) # 刪除右邊字符
print(s2.strip('itow')) # 刪除左右兩邊
#-------- 分割、連接相關方法--------
# split() 將字符串按指定分割符分割成多個短語。
# jojn() 將多個短語連接成字符串。
# 下面示範用法:
s = 'crazyit.org is a good site'
print(s.split()) #使用空白對 s 裡的字符串進行分割。
# 終端打印出 s 的結果:['crazyit.org', 'is', 'a', 'good', 'site']
print(s.split(None, 2)) # 使用空白對字符串進行分割,最多隻分割前兩個單詞。
#終端打印出 s 的結果:['crazyit.org', 'is', 'a good site']
print(s.split('.')) # 使用點進行分割
# 終端打印出 s 的結果: ['crazyit', 'org is a good site']
mylist = s.split()
print('/'.join(mylist)) #使用'/' 作為分割符,將mylist 連接成字符串
# 終端打印出 mylist 的結果: crazyit.org/is/a/good/site
print(','.join(mylist)) #使用',' 作為分割符,將mylist 連接成字符串
# 終端打印出 mylist 的結果: crazyit.org,is,a,good,site
# 上面運行結果可以看出,str 的 split() 和 join() 方法互為逆操作。
閱讀更多 卓帥成長史OL 的文章