《python cookbook》字串和文字

2021-09-25 07:58:03 字數 1255 閱讀 5517

分割字串

使用re.split(pattern,string),通過正規表示式可以指定多個分隔符,如果正則包含了了括號捕獲分組,分隔符也會出現在結果中,re.split也可以用來重新構造新字串

import re

line='abd abs;asd ass,g g'

res1=re.split(r'[;,\s]\s*',line)

fileds=re.split(r'(\s|;|,)',line)

value=fileds[::2]

tag=fileds[1::2]

#重新構造字串

new_line=''.join(v+d for v,d in zip(value,tag))

print(res1)

print(new_line)

字串開頭或者結尾匹配

str.startswith()

str.endswith()

str[start:final:step]

shell部分回去實驗

字串匹配、搜尋、替換

搜尋:str.find()以及第2條前兩個方法

匹配:pattern.match(str)、pattern.findall(str)

pattern想要多次復用就可以採用pattern=re.compile(r』正則』)

這一點和js的區別是js是str.match(pattern)而python是pattern.match(str),而且js的正則需要注意轉義的問題,python只需要r』(\d+)(\d+)』,當然也可以像js那樣用反斜槓/*

替換:str.replace(oldstr,newstr)這一點和js的區別是js支援正則,python的replace不支援

re.sub()非常好用

多行匹配:*』.』**不能匹配換行符,因此可以將換行符加入到模式中

comp='/*注釋' \

'fff*/'

comment=re.compile(r'/\*((?:.|\n)*?)\*/')

print(comment.findall(comp))

處理html和xml, html和xml包

處理<:html.escape(str)

Python Cookbook學習記錄

4.迭代器和生成器 4.9迭代所有可能的組合和排列 import itertools items a b c permutations 接受乙個元素集合,將其中的元素重排列為所有可能的情況,並以元組形式返回 for p in itertools.permutations items print p ...

python cookbook學習筆記十一

csv檔案讀取 csv檔案格式如下 分別有2行三列。訪問 如下 f open r e py prj test.csv rb f csv csv.reader f forf inf csv printf 在這裡f是乙個元組,為了訪問某個字段,需要用索引來訪問對應的值,如f 0 訪問的是first,f ...

每天學點Python Cookbook(四)

任務 尋找上乙個星期五的日期。解決方案 通過python標準庫的datetime模組,可以快速完成此任務。import datetime,calendar def find last friday last friday datetime.date.today oneday datetime.tim...