可能重複:
Python: Split string with multiple delimiters試圖將一個字符串分解
我有一個小的語法問題。我有一個字符串和另一個具有分隔符列表的字符串。我需要通過.split
方法分割它。
我似乎無法弄清楚如何,這肯定會給出一個類型錯誤。
String.split([' ', '{', '='])
如何將它與多個分離器分開?
可能重複:
Python: Split string with multiple delimiters試圖將一個字符串分解
我有一個小的語法問題。我有一個字符串和另一個具有分隔符列表的字符串。我需要通過.split
方法分割它。
我似乎無法弄清楚如何,這肯定會給出一個類型錯誤。
String.split([' ', '{', '='])
如何將它與多個分離器分開?
str.split()
只接受一個分隔符。
使用re.split()
使用正則表達式進行拆分。
import re
re.split(r"[ {=]", "foo bar=baz{qux")
輸出:
['foo', 'bar', 'baz', 'qux']
這不是如何內置split()
方法效果。它僅使用單個字符串作爲分隔符,而不是單個字符分隔符的列表。可以使用regular-expression based分割。這可能意味着建立一個正則表達式是「或」您的所有期望的分隔符:
splitters = "|".join([" ", "{", "="])
re.split(splitters, my_string)
想要的答案,我不認爲這會工作就是這樣。 're.escape'可能是需要的。 –
您可以用re
(正則表達式)庫做到這一點,像這樣:
import re
result=re.split("[abc]", "my string with characters i want to split")
凡方括號中的字符是你想要分割的字符。
從使用正則表達式,而不是分裂:
>>> import re
>>> s = 'toto + titi = tata'
>>> re.split('[+=]', s)
['toto ', ' titi ', ' tata']
>>>
您的指環表達式缺少空格''。 – 2012-11-12 08:45:54
import re
string_test = "abc cde{fgh=ijk"
re.split('[\s{=]',string_test)
OP在他的分隔符列表中沒有包含*每個*空格和小節'|'。 – 2012-11-12 08:48:42
你是對的,thx –
我們展示了輸入和預期的輸出,讓你從我們 –