可能重复:
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 –
我们展示了输入和预期的输出,让你从我们 –