Skip to main content
 首页 » 编程设计

Python:如何从字符串中删除数字周围的引号

2025年05月04日24sharpest

我有一个像这样的 python 字符串:

""" 
{id: 'id_0_4', value: '8450223051', name: 'XAD3', parent: 'id_0'}, 
{id: 'id_0_5', value: '509071269', name: 'ABSD', parent: 'id_0'} 
""" 

从字符串中,我想删除出现在 value 之后的数字周围的单引号。

我如何编写一个正则表达式来仅检测此类数字并替换它们周围的引号?

请您参考如下方法:

抓取一个分组中的号码,重新插入分组:

>>> import re 
>>> s = """{id: 'id_0_4', value: '8450223051', name: 'XAD3', parent: 'id_0'}, {id: 'id_0_5', value: '509071269', name: 'ABSD', parent: 'id_0'}""" 
>>> re.sub("'(\d+)'", r'\1', s) 
"{id: 'id_0_4', value: 8450223051, name: 'XAD3', parent: 'id_0'}, {id: 'id_0_5', value: 509071269, name: 'ABSD', parent: 'id_0'}" 

或者,如果这必须特定于“值”之后的数字:

>>> re.sub("(value:\s*)'(\d+)'", r'\1\2', s) 
"{id: 'id_0_4', value: 8450223051, name: 'XAD3', parent: 'id_0'}, {id: 'id_0_5', value: 509071269, name: 'ABSD', parent: 'id_0'}"