查找由相同字符串分隔的字符串

2024-06-16 14:58:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python正则表达式。 我的输入是如下字符串:

[In 1]: Names = "John r Spencer Farrow r David K r Gillian"
[In 2]: Names = "Andrew r Eli Ltd"

也就是说,有任意数量的当事人(如“约翰”或“斯宾塞·法罗”)都用“r”隔开。你知道吗

我希望我的输出是一个字符串列表,字符串就是参与方。像这样

[Out 1]: ["John", "Spencer Farrow", "David K", "Gillian"]
[Out 2]: ["Andrew", "Eli Ltd"]

我试过的代码是这个的变体

re.findall(r'[^(\sr\s)\w\s]+', Names)

例如,我尝试从字符集中排除特定的字符串\sr\s(或“r”),包括空格和单词字符。你知道吗

请原谅我的无知,我是新来的正则表达式。你知道吗


Tags: 字符串in数量namesoutjohndavidspencer
1条回答
网友
1楼 · 发布于 2024-06-16 14:58:48

这样的方法应该有用:

>>> import re
>>> s = "John r Spencer Farrow r David K r Gillian"
>>> re.split(r'\br\b',s)
['John ', ' Spencer Farrow ', ' David K ', ' Gillian']

这一个也将消除任意数量的空白:

>>> re.split(r'\b(?:\s*)r(?:\s*)\b',s)
['John', 'Spencer Farrow', 'David K', 'Gillian']

当然,如果您知道分隔符总是" r ",那么您可以使用str.split

>>> s.split(' r ')
['John', 'Spencer Farrow', 'David K', 'Gillian']

相关问题 更多 >