ebo*_*rus 4 python regex string python-2.7
我的代码就像
a = "*abc*bbc"
a.split("*")#['','abc','bbc']
#i need ["*","abc","*","bbc"]
a = "abc*bbc"
a.split("*")#['abc','bbc']
#i need ["abc","*","bbc"]
Run Code Online (Sandbox Code Playgroud)
如何在python split函数或regex或分区中获取带分隔符的列表?我正在使用python 2.7,windows
您需要将分隔符作为一个组使用RegEx,并忽略空字符串,如下所示
>>> [item for item in re.split(r"(\*)", "abc*bbc") if item]
['abc', '*', 'bbc']
>>> [item for item in re.split(r"(\*)", "*abc*bbc") if item]
['*', 'abc', '*', 'bbc']
Run Code Online (Sandbox Code Playgroud)
注1:你需要逃避*与\,因为正则表达式有特殊的意义*.因此,您需要告诉RegEx引擎*应该被视为正常字符.
注意2:当您将分隔符分隔开头或结尾处的字符串时,您将获得一个空字符串.检查此问题以了解其背后的原因.