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

bsp*_*ckl 3 regex vim json

我不小心错误地格式化了一个大文件。我有数百个变量定义为:

"exportOrder": "274"
Run Code Online (Sandbox Code Playgroud)

当我真正需要时:

"exportOrder": 274
Run Code Online (Sandbox Code Playgroud)

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

示例数据如下所示:

{
    "key": "date",
    "name": "Date",
    "datatype": "date",
    "exportOrder": "274"
},
{
    "key": "coordinates",
    "name": "Coordinates",
    "datatype": "geoPoint",
    "exportOrder": "275"
},
Run Code Online (Sandbox Code Playgroud)

等等..

我可以使用以下命令删除第一个引号: :%s/Order": "/Order": /g

但无法弄清楚第二个报价。

谢谢

hek*_*mgl 5

你可以使用这个:

:%s/"\([0-9]\+\)"/\1/g
Run Code Online (Sandbox Code Playgroud)

我正在捕获第一组中引号内的数字。

  • Vimgolf:`:%s/\v"(\d+)"/\1/g`。也许能够删除“g”标志,并且这看起来是“漂亮”的 JSON。例如 `:%s/\v"(\d+)"/\1` (3认同)