VIM:查找双引号中的所有数字并删除双引号。

3

我不小心错误地格式化了一个巨大的文件。我定义了几百个变量如下:

"exportOrder": "274"

当我真正需要时:

"exportOrder": 274

有人知道一个正则表达式可以删除每个出现的双引号吗?

示例数据如下:

{
    "key": "date",
    "name": "Date",
    "datatype": "date",
    "exportOrder": "274"
},
{
    "key": "coordinates",
    "name": "Coordinates",
    "datatype": "geoPoint",
    "exportOrder": "275"
},

我可以通过以下方式删除第一个引号:

:%s/Order": "/Order": /g

但是我无法弄清楚第二个引号。

谢谢。

1个回答

5
您可以使用以下内容:
:%s/"\([0-9]\+\)"/\1/g

我正在捕获引号内的数字,并将其放在第一组中。

3
Vimgolf: :%s/\v"(\d+)"/\1/g。可能可以去掉 g 标志,因为这似乎是 "pretty" JSON。例如::%s/\v"(\d+)"/\1 - Peter Rincker

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