使用多个定界符拆分字符串并保留定界符
Split String with multiple delimiters and keep delimiters
我正在寻找一种通过多个定界符拆分字符串并保留拆分字符串的定界符的优雅方法。
示例:
input_str = 'X < -500 & Y > 3000 / Z > 50'
split_str = re.split("and | or | & | /", input_str)
print split_str
>>> ['X < -500', ' Y > 3000', 'Z > 50']
我想要 split_str
得到的是:
['X < -500', '&', ' Y > 3000', '/', 'Z > 50']
尝试使用括号:
>>> split_str = re.split("(and | or | & | /)", input_str)
>>> split_str
['X < -500', ' & ', 'Y > 3000', ' /', ' Z > 50']
>>>
如果你想删除多余的空格:
>>> split_str = [i.strip() for i in re.split("(and | or | & | /)", input_str)]
>>> split_str
['X < -500', '&', 'Y > 3000', '/', ' Z > 50']
>>>
我正在寻找一种通过多个定界符拆分字符串并保留拆分字符串的定界符的优雅方法。
示例:
input_str = 'X < -500 & Y > 3000 / Z > 50'
split_str = re.split("and | or | & | /", input_str)
print split_str
>>> ['X < -500', ' Y > 3000', 'Z > 50']
我想要 split_str
得到的是:
['X < -500', '&', ' Y > 3000', '/', 'Z > 50']
尝试使用括号:
>>> split_str = re.split("(and | or | & | /)", input_str)
>>> split_str
['X < -500', ' & ', 'Y > 3000', ' /', ' Z > 50']
>>>
如果你想删除多余的空格:
>>> split_str = [i.strip() for i in re.split("(and | or | & | /)", input_str)]
>>> split_str
['X < -500', '&', 'Y > 3000', '/', ' Z > 50']
>>>