>>test_str.split(',')['helloworld','nicetomeetyou']>> >test_str.split('')[&"/> >>test_str.split(',')['helloworld','nicetomeetyou']>> >test_str.split('')[&">
Python 的字串預設是有一個split 來把字串分割成列表的:
>>> test_str = "hello world,nice to meet you" >>> test_str.split(',') ['hello world', 'nice to meet you'] >>> test_str.split(' ') ['hello', 'world,nice', 'to', 'meet', 'you']
如果我想讓上面的字串同時按照逗號和空格分割成下面的列表應該怎麼做呢?
['hello', 'world', 'nice', 'to', 'meet', 'you']
這時候,re 的split 就能派上用場了,它可以把正規匹配到的pattern 都當作分隔符號。
>>> import re >>> test_str = "hello world,nice to meet you" >>> re.split('[,| ]', test_str) ['hello', 'world', 'nice', 'to', 'meet', 'you'] >>> re.split('[, ]', test_str) ['hello', 'world', 'nice', 'to', 'meet', 'you'] >>> re.split(',| ', test_str) ['hello', 'world', 'nice', 'to', 'meet', 'you']
其實,像 re.sub 和 字串的 str.replace 也有異曲同工之妙,re.sub 可以同時替換多個滿足正則匹配的部分,而不僅僅是某個固定的字串。
partition 系列方法包括 partition () 和 rpartition () 。
partition () 根據指定的分隔符號(sep) 將字串進行分割,從字串左邊開始索引分隔符號sep, 索引到則停止索引,傳回的是一個包含三個元素的元組(tuple) ,即(head, sep, tail) 。
# 遇到第一个分隔符后就停止索引 print(Str.partition('e')) # 没有遇到分隔符 , 返回原字符串和两个空字符串 print(Str.partition('f')) # 遇 到 第 一 个 分 隔 符 后 就 停 止 索 引 print(Str.rpartition('e')) # 没 有 遇 到 分 隔 符 , 返 回 两 个 空 字 符 串 和 原 字 符 串 print(Str.rpartition('f'))
rpartition () 的功能與 partition () 類似,只不過是從字串最後面開始分割。
#方法 |
傳回類型 | 是否包含分隔符號 |
split 系列方法 | list(列表) | 否 |
tuple(元組) | 是 |
以上是Python字串怎麼使用多個分隔符號分割成列表的詳細內容。更多資訊請關注PHP中文網其他相關文章!