Python分割包含多个分隔符的字符串并找到所使用的分隔符

4
如何使用多个分隔符拆分字符串,并找出用于拆分字符串的分隔符,最大拆分次数为1。
import re

string ="someText:someValue~"
re.split(":|~",string,1)

返回结果为 ['someText', 'someValue~']。在这种情况下,":"是用来分割字符串的分隔符。

如果字符串是string ="someText~someValue:",那么"~"将成为分隔符来分割字符串。

有没有一种方法可以找出使用了哪个分隔符并将其存储在一个变量中。

PS:someText和someValue可能包含特殊字符,在split中未使用。例如:some-Text,some_Text,some$Text。

3个回答

4
string ="someText:someValue~"
print re.split("(:|~)",string,1)

如果您将其放入组中,则会出现在返回的列表中。 您可以从列表的1索引中找到它。

2
你可以使用 re.findall。
>>> string ="someText:someValue~"
>>> re.findall(r'^([^:~]*)([:~])([^:~].*)', string)
[('someText', ':', 'someValue~')]

0

您可以使用re.findall函数来查找非单词分隔符,使用环视

>>> string ="someText:someValue~andthsi#istest@"
>>> re.findall('(?<=\w)(\W)(?=\w)',string)
[':', '~', '#']

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接