如何使用多个分隔符拆分字符串,并找出使用哪个分隔符来分割maxsplit为1的字符串。
import re
string ="someText:someValue~"
re.split(":|~",string,1)
返回['someText', 'someValue~']
。在这种情况下,“:”是分割字符串的分隔符。
如果string为string ="someText~someValue:"
,则“〜”将分隔符以分割字符串
有没有办法找出使用了哪个分隔符并将其存储在变量中。
PS:someText和someValue可能包含特殊字符,不会在拆分中使用。例如:some-Text,some_Text,some $ Text
答案 0 :(得分:4)
string ="someText:someValue~"
print re.split("(:|~)",string,1)
如果你放入组,它将出现在返回的列表中。你可以从1
列表索引中找到它。
答案 1 :(得分:1)
您可以使用re.findall。
>>> string ="someText:someValue~"
>>> re.findall(r'^([^:~]*)([:~])([^:~].*)', string)
[('someText', ':', 'someValue~')]
答案 2 :(得分:0)
您可以使用re.findall
使用look around查找无字分隔符:
>>> string ="someText:someValue~andthsi#istest@"
>>> re.findall('(?<=\w)(\W)(?=\w)',string)
[':', '~', '#']