1

可能重复:
Python:使用多个分隔符拆分字符串

我有一个小语法问题。我有一个字符串和另一个包含分隔符列表的字符串。我需要通过.split方法拆分它。

我似乎无法弄清楚如何,这肯定会产生类型错误。

String.split([' ', '{', '='])

如何用多个分隔符拆分它?

4

5 回答 5

7

str.split()只接受一个分隔符。

用于使用re.split()正则表达式进行拆分。

import re

re.split(r"[ {=]", "foo bar=baz{qux")

输出:

['foo', 'bar', 'baz', 'qux']
于 2012-11-12T08:42:25.543 回答
1

这不是内置split()方法的工作方式。它只是使用单个字符串作为分隔符,而不是单字符分隔符列表。

您可以改为使用基于正则表达式的拆分。这可能意味着构建一个正则表达式,它是所有所需分隔符的“或”:

splitters = "|".join([" ", "{", "="])
re.split(splitters, my_string)
于 2012-11-12T08:43:33.477 回答
0

您可以使用re(regex) 库执行此操作,如下所示:

import re
result=re.split("[abc]", "my string with characters i want to split")

方括号中的字符是您要分割的字符。

于 2012-11-12T08:44:07.643 回答
0

改用正则表达式的拆分:

>>> import re
>>> s = 'toto + titi = tata'
>>> re.split('[+=]', s)
['toto ', ' titi ', ' tata']
>>> 
于 2012-11-12T08:45:15.690 回答
0
import re
string_test = "abc cde{fgh=ijk"
re.split('[\s{=]',string_test)
于 2012-11-12T08:47:33.310 回答