好,所以我知道每次出现一个字符/一个字符序列时,都可以使用.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>
的第四次。
还有什么其他解决方案?
答案 0 :(得分:0)
您可能希望查看正则表达式拆分,例如
import re
[x for x in re.split(r'[= \\"]+', """ \ hel\lo ="world""") if x]
答案 1 :(得分:0)
看来re.split对您的情况有益。