欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2018年04月19日 12:03:06   作者:壟上行  
這篇文章主要介紹了Python cookbook(字符串與文本)針對任意多的分隔符拆分字符串操作,結(jié)合實例形式分析了Python使用split()及正則表達式進行字符串拆分操作相關實現(xiàn)技巧,需要的朋友可以參考下

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

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

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

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

# example.py
#
# Example of splitting a string on multiple delimiters using a regex
import re #導入正則表達式模塊
line = 'asdf fjdk; afed, fjek,asdf,   foo'
# (a) Splitting on space, comma, and semicolon
parts = re.split(r'[;,\s]\s*', line)
print(parts)
# (b) 正則表達式模式中使用“捕獲組”,需注意捕獲組是否包含在括號中,使用捕獲組導致匹配的文本也包含在最終結(jié)果中
fields = re.split(r'(;|,|\s)\s*', line)
print(fields)
# (c) 根據(jù)上文的分隔字符改進字符串的輸出
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) 使用非捕獲組(?:...)的形式實現(xiàn)用括號對正則表達式模式分組,且不輸出分隔符
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相關內(nèi)容感興趣的讀者可查看本站專題:《Python正則表達式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

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

相關文章

最新評論