国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python cookbook(字符串與文本)針對任意多的分隔符拆分字符串操作

2020-02-22 23:44:32
字體:
來源:轉載
供稿:網友

本文實例講述了Python針對任意多的分隔符拆分字符串操作。分享給大家供大家參考,具體如下:

問題:將分隔符(以及分隔符之間的空格)不一致的字符串拆分為不同的字段;

解決方案:使用更為靈活的re.split()方法,該方法可以為分隔符指定多個模式。

說明:字符串對象的split()只能處理簡單的情況,而且不支持多個分隔符,對分隔符周圍可能存在的空格也無能為力。

# example.py## Example of splitting a string on multiple delimiters using a regeximport re #導入正則表達式模塊line = 'asdf fjdk; afed, fjek,asdf,   foo'# (a) Splitting on space, comma, and semicolonparts = re.split(r'[;,/s]/s*', line)print(parts)# (b) 正則表達式模式中使用“捕獲組”,需注意捕獲組是否包含在括號中,使用捕獲組導致匹配的文本也包含在最終結果中fields = re.split(r'(;|,|/s)/s*', line)print(fields)# (c) 根據上文的分隔字符改進字符串的輸出values = fields[::2]delimiters = fields[1::2]delimiters.append('')print('value =', values)print('delimiters =', delimiters)newline = ''.join(v+d for v,d in zip(values, delimiters))print('newline =', newline)# (d) 使用非捕獲組(?:...)的形式實現用括號對正則表達式模式分組,且不輸出分隔符parts = re.split(r'(?:,|;|/s)/s*', line)print(parts)
>>> ================================ RESTART ================================>>>['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo']['asdf', ' ', 'fjdk', ';', 'afed', ',', 'fjek', ',', 'asdf', ',', 'foo']value = ['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo']delimiters = [' ', ';', ',', ',', ',', '']newline = asdf fjdk;afed,fjek,asdf,foo['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo']>>>

(代碼摘自《Python Cookbook》)

PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:

JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript

正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python正則表達式用法總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定日县| 青州市| 综艺| 社会| 三台县| 宣化县| 崇义县| 郎溪县| 安溪县| 务川| 监利县| 康定县| 金堂县| 微山县| 乐昌市| 长宁县| 雅江县| 道孚县| 克东县| 正宁县| 漳平市| 江城| 樟树市| 皮山县| 湘乡市| 哈巴河县| 佛山市| 兴安盟| 汪清县| 铜鼓县| 肃宁县| 汾阳市| 蛟河市| 新河县| 阿勒泰市| 武鸣县| 曲松县| 铁岭县| 黄石市| 达孜县| 白沙|