python cookbook學(xué)習(xí)筆記03

字符和文本

  1. 使用多個界定符分割字符串
import re
line = 'asdf fjdk; afed, fjek,asdf, foo'
l = re.split(r"[;,\s]\s*", line)
print(l)

分組匹配分割符也會在數(shù)組中
l2 = re.split(r"(;|,|\s)\s*", line)
print(l2)
print(".".join(l))

不想匹配可加?:,非捕獲
l3 = re.split(r"(?:;|,|\s)\s*", line)
print(l3)

輸出:['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo']
['asdf', ' ', 'fjdk', ';', 'afed', ',', 'fjek', ',', 'asdf', ',', 'foo']
asdf.fjdk.afed.fjek.asdf.foo
  1. 用 Shell 通配符匹配字符串

from fnmatch import fnmatch, fnmatchcase
l = ['Dat1.csv', 'Dat2.csv', 'config.ini', 'foo.py']
lr = [n for n in l if fnmatch(n, "Da*.csv")]
print(lr)
s = 'dir.TXT'
print(fnmatch(s, "*.txt"))
# 忽略大小寫
print(fnmatchcase(s, "*.txt"))
addresses = [
'5412 N CLARK ST',
'1060 W ADDISON ST',
'1039 W GRANVILLE AVE',
'2122 N CLARK ST',
'4802 N BROADWAY',
]
print([n for n in addresses if fnmatch(n,"* st")])
find可以返回字的索引,-1表示無返回值
txt = "我也是醉了"
tr = txt.find("是")
print(tr)
  1. 字符串替換 re.sub,replace,isupper,islower,
    re最短匹配模式 .*?
  1. re.IGNORECASE 能忽略大小寫
import re
text = 'UPPER PYTHON, lower python, Mixed Python'
tr = re.findall('py.hon', text, re.I)
print(tr)
text = '''
你是一只豬么
么么
'''
import re
rt = re.findall('么\n么么', text)
print(rt)
  1. strip去掉首尾字符,replace好東西,可以多用幾次
str1 = "--------1==//,,,=b===..,,..."
s = str1.strip("-.,=/")
print(s)

def clean_spaces(s):
    s = s.replace('\r', '')
    s = s.replace('\t', ' ')
    s = s.replace('\f', ' ')
    return s
  1. 對于基本的字符串對齊操作棺妓,可以使用字符串的 ljust() , rjust() 和 center(),format()
    方法评汰。
text="helloword"
print(text.center(20,"="))

text = "helloword"
print(text.center(20, "="))

f1 = format("111", ">20")
print(f1)
f2 = format("111", "(>20")
print(f2)
f3 = format("aaa", "+^20")
print(f3)
s1 = "{:=^20s}".format("1111")
print(s1)
  1. 字符串拼接,分割textwrap
def sample():
    yield 'Is'
    yield 'Chicago'
    yield 'Not'
    yield 'Chicago?'


f = ",".join(sample())
print(f)

s = "Look into my eyes, look into my eyes, the eyes, the eyes, \
the eyes, not around the eyes, don't look around the eyes, \
look into my eyes, you're under."
import textwrap
tf = textwrap.fill(s, 40)
print(tf)
  1. 字節(jié)比字符速度快
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末苏揣,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌个唧,老刑警劉巖婉称,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異贤牛,居然都是意外死亡惋鹅,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門殉簸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來负饲,“玉大人,你說我怎么就攤上這事喂链》凳” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵椭微,是天一觀的道長洞坑。 經(jīng)常有香客問我,道長蝇率,這世上最難降的妖魔是什么迟杂? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮本慕,結(jié)果婚禮上排拷,老公的妹妹穿的比我還像新娘。我一直安慰自己锅尘,他們只是感情好监氢,可當(dāng)我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布布蔗。 她就那樣靜靜地躺著,像睡著了一般浪腐。 火紅的嫁衣襯著肌膚如雪纵揍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天议街,我揣著相機與錄音泽谨,去河邊找鬼。 笑死特漩,一個胖子當(dāng)著我的面吹牛吧雹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播涂身,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼雄卷,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了访得?” 一聲冷哼從身側(cè)響起龙亲,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎悍抑,沒想到半個月后鳄炉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡搜骡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年拂盯,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片记靡。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡谈竿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出摸吠,到底是詐尸還是另有隱情空凸,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布寸痢,位于F島的核電站呀洲,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏啼止。R本人自食惡果不足惜道逗,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望献烦。 院中可真熱鬧滓窍,春花似錦、人聲如沸巩那。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至锦亦,卻和暖如春舶替,著一層夾襖步出監(jiān)牢的瞬間令境,已是汗流浹背杠园。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留舔庶,地道東北人抛蚁。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像惕橙,于是被迫代替她去往敵國和親瞧甩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容