正则表达式re.sub公司将字符串替换为

2024-06-26 13:22:15 发布

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

我需要替换存储在JSON文件中的部分名称,例如替换以下内容:

"name":"S. tuberosum subsp. andigenum (ADG) 2-1-2-2" 

有了这个:

^{pr2}$

也就是说,我需要去掉名字后面的数字和连字符。在

我使用的是re.sub,但我无法找到正确的表达式,尤其是如何用字符串的一部分替换字符串。在

我试过了:

new_text = re.sub(r"(name.[:]..*)\s\d+-+", "name.[:]..*"  , initial_text)

Tags: 文件字符串textnamere名称json数字
3条回答

试试这个:

re.sub("(\d+-\d+-*)", "" , initial_text)

这将取代'number-(可选)',希望它能起作用

只需将要删除的部分与re.sub匹配,并用空字符串替换它:

import re
string = '"name":"S. tuberosum subsp. andigenum (ADG) 2-1-2-2"'
print(re.sub('(\s(\d-)*\d)', '', string))

输出

^{pr2}$

你可以试试这个:

import re
s = '"name":"S. tuberosum subsp. andigenum (ADG) 2-1-2-2"'
new_s = re.sub('(?<=[A-Z]\))\s[\d-]+', '', s)

输出:

^{pr2}$

相关问题 更多 >