
一、拆分含有多種分隔符的字符串
1.如何拆分含有多種分隔符的字符串
問題: 我們要把某個字符串依據(jù)分隔符號拆分不同的字段,該字符串包含多種不同的分隔符,例如:
s = "ab;cd|efg|hi,jkl|mnopq;rst,uvwxyz"
其中;,|,都是分隔符號,如何處理?
方法一: 連續(xù)使用str.split()方法,每次處理一種分隔符號
方法二: 使用正則表達式的re.split()方法,一次性拆分字符串

二、調(diào)整字符串中文本格式
1. 如何判斷字符串a(chǎn)是否以字符串b開頭或結(jié)尾
問題:某文件系統(tǒng)目錄下有一系列文件:a.py,quicksort.c,stack.cpp,b.sh , 編寫程序給其中所有.sh文件和.py文件加上用戶可執(zhí)行權(quán)限?
解決方案:
使用字符串中的str.startswith()和end.startswith()方法 (注意:多個匹配時參數(shù)使用元組)
2.如何對字符串中文本的格式進行調(diào)整
問題: 某軟件的log文件,其中日期格式為“yyyy-mm-dd”:
我們想把其中日期改為美國日期的格式"mm/dd/yyyy",2017-05-08 ==> 05/08/2017 ,應如何處理?
解決方案:
使用正則表達式re.sub()方法做字符串替換,利用正則表達式的捕獲組捕獲每個部分內(nèi)容,在字符串中調(diào)整各個組的捕獲順序。

三、字符串拼接
1.如何將多個小字符串拼接成一個大的字符串
問題:在程序中我們將各個參數(shù)按次序收集到列表中: ["<0112>", "<32>","<1024x768>","<60>" ],要把各個參數(shù)拼接成數(shù)據(jù)報進行發(fā)送"<0112><32><1024x768><60>"
解決方案:
方法一:迭代列表,連續(xù)使用“+”操作依次拼接每一個字符串
方法二:使用str.join()方法,更加快速的拼接列表中所有字符串
In [5]: ''.join(pl)Out[5]: '<0112><32><1024x768><60>'
有個列表l = ['abc',123,45,'xyz'],如何讓123和45以字符串的方式拼接

四、字符串居中對齊
1.如何對字符串進行左、右、居中對齊
問題: 某個字典存儲了一系列屬性值
{ "loDist":100.0, "smartCull":0.04, "farclip":477}
在程序中想以工整的格式進行輸出,如何處理?
解決方案:
方法一: 使用字符串的str.ljust(),str.rjust(),str.center()進行,右,居中對齊
方法二: 使用format方法,傳遞類似'<20','>20','^20'參數(shù)完成同樣任務
2.去掉不需要的字符串
問題:
1.過濾掉用戶輸入中前后多余的空白字符: ' nick@gmail.com '
2.過濾某windows下編輯文本中的' ': 'hello world '
3.去掉文本中的unicode組合符號(音調(diào)):u'zǒu'
解決方案:
方法一: 字符串strip(),lstrip(),rstrip()方法去掉字符串兩端字符
方法二:刪除單個固定位置的字符,可以使用切片+拼接的方式
方法三:字符串的replace方法或正則表達式re.sub()方法刪除任意位置字符
方法四:字符串translate()方法,可以同時刪除多種不同字符