91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中如何針對任意多的分隔符進行拆分字符串

發布時間:2021-10-26 10:47:00 來源:億速云 閱讀:156 作者:柒染 欄目:編程語言

這篇文章給大家介紹Python中如何針對任意多的分隔符進行拆分字符串,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

我們需要將字符串拆分為不同的字段,但是分隔符(以及分隔符之間的空格)在整個字符串中并不一致。

字符串對象的split()方法只能處理非常簡單的情況,而且不支持多個分隔符,對分隔符周圍存在的多種空格情況也無能為力。當需要一些更為靈活地功能時,應該使用re.split()方法:

import re
line='abc def ; ghi, jkl,mno, pkr'
#分隔符:分號,都逗號,空格符,前后可以跟著任意數量的額外空格
result=re.split(r'\s*[;,\s]\s*',line)
print(result)

結果:

['abc', 'def', 'ghi', 'jkl', 'mno', 'pkr']

re.split()是很有用的,因為可以為分隔符指定多個模式。例如,在上面的解決方案中,分隔符:分號,都逗號,空格符,前后可以跟著任意數量的額外空格。同str.split()得到的結果一樣,最終得到的結果是字段列表。

當使用re.split()時,需要小心正則表達式模式中的捕獲組是否包含在了括號里。

如果用到了捕獲組,那么匹配的文本也會包含在最終結果中。比如,看看下面的案例:

import re
line='abc def ; ghi, jkl,mno, pkr'
result=re.split(r'\s*(;|,|\s)\s*',line)
print(result)

結果:

['abc', ' ', 'def', ';', 'ghi', ',', 'jkl', ',', 'mno', ',', 'pkr']

在特定的上下文中獲取到分隔符也可能是有用的。例如,用分隔字符來改進字符串的輸出:

import re
line='abc def ; ghi, jkl,mno, pkr'
result=re.split(r'\s*(;|,|\s)\s*',line)
values=result[::2]
delimiters=result[1::2]+['']
print(values)
print(delimiters)
last=''.join(v+d for v,d in zip(values,delimiters))
print(last)

結果:

['abc', 'def', 'ghi', 'jkl', 'mno', 'pkr']
[' ', ';', ',', ',', ',', '']
abc def;ghi,jkl,mno,pkr

如果不想在結果中看到分隔字符,但仍然想用符號來對正則表達式模式進行分組,請確保用的是非捕獲組,以(?:…)的形式指定。示例如下:

import re
line='abc def ; ghi, jkl,mno, pkr'
result=re.split(r'\s*(?:;|,|\s)\s*',line)
print(result)

結果:

['abc', 'def', 'ghi', 'jkl', 'mno', 'pkr'

關于Python中如何針對任意多的分隔符進行拆分字符串就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安泽县| 寿宁县| 徐水县| 开平市| 广宁县| 泗洪县| 称多县| 兴山县| 平遥县| 大悟县| 云龙县| 赤城县| 英山县| 高雄县| 宝山区| 雅江县| 当雄县| 九龙城区| 武邑县| 绍兴县| 柘荣县| 慈溪市| 青冈县| 宜兴市| 鞍山市| 博乐市| 安岳县| 望江县| 磐安县| 太仆寺旗| 高邑县| 固原市| 吴川市| 运城市| 九龙县| 高碑店市| 类乌齐县| 临桂县| 博湖县| 常州市| 上栗县|