从字符串中提取数据,省去模式

2024-04-20 01:57:41 发布

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

我对正则表达式完全陌生,我正在尝试得到这样的东西:

["Group", "s1", "s2", "Group2"]

从字符串:

string = "_GRP_Group||s1||s2||Group2||"

我现在只有:

word = re.findall(r'([^\|]+)', string)

这就省去了管道,我明白了:

['_GRP_Group', 's1', 's2', 'Group2']

有没有办法去掉_GRP_前缀?你知道吗


Tags: 字符串restring管道groupwords2办法
2条回答

您不需要使用正则表达式将第一个字符串按||拆分或删除前缀_GRP_。您可以使用split和切片:

words = "_GRP_Group||s1||s2||Group2||"[5:].split('||')

[5:]将从字符串中排除前五个字符。
如果您不知道_GRP_将发生在哪里,可以使用replace

words = "_GRP_Group||s1||s2||Group2||".split('||')
words = [word.replace("_GRP_", "") for word in words]

根据您对其他答案的评论,听起来_GRP_前缀是字符串的前缀,而不是每个分割值的前缀?你知道吗

试试这个:

string = "_GRP_Group||s1||s2||Group2||"
word = re.findall(r"(?:_GRP_)?([^|]+)", string)

相关问题 更多 >