用多个字符分割字符串(python)

时间:2020-05-23 18:09:35

标签: python python-3.x string split

好,所以我知道每次出现一个字符/一个字符序列时,都可以使用.split方法拆分字符串-例如,在以下代码中,当我使用.split方法时,<string>每次:出现时都会被拆分

<string>.split(":")

但是我不能给它提供多个参数,因此,如果出现其中一个参数,则字符串将被拆分。

例如,给定此输入字符串:

input_string = """ \ hel\lo ="world"""

我想每次出现input_string\="时拆分<blank space>,以便获得以下输出: / p>

['hel', 'lo', 'world']

我知道解决方案可能是:

non_alfanumeric = """\\=" """
input_string = """ \ hel\lo ="world"""

for char in non_alfanumeric:
    input_string = input_string.replace(char, " ")

list = input_string.split(" ")
while "" in list:
    list.remove("")

,但是如果输入字符串很长,这在计算上会太慢,因为代码必须对整个字符串进行4次检查:\的第一次,=的第二次,第三次"的时间,<blank space>的第四次。

还有什么其他解决方案?

2 个答案:

答案 0 :(得分:0)

您可能希望查看正则表达式拆分,例如

import re

[x for x in re.split(r'[= \\"]+', """ \ hel\lo ="world""") if x]

答案 1 :(得分:0)

看来re.split对您的情况有益。