14

我有一个如下所示的 JSON 文件:

    "Algeriet" :
    [
        {
            "name" : "Nyårsdagen",
            "date" : "2013-01-01",
            "ID" : "1"
        },
        {
            "name" : "Mawlid En Nabaoui Echarif",
            "date" : "2013-01-24",
            "ID" : "2"
        },
        {
            "name" : "Första maj",
            "date" : "2013-05-01",
            "ID" : "3"
        },
       ...
     ]

现在我想从 0 而不是 1 开始增加 ID。如何使用 Sublime Text 2 做到这一点?我已经安装了Text Pastry插件,但我不确定如何选择文本中的 ID 以便我可以替换这些值。

4

3 回答 3

30

通过执行以下步骤解决了它:

  1. 对正则表达式进行查找和替换,"ID" : "\d+"并将其替换为我知道文件中任何位置都不存在的字符串(我将其替换为"ID" : "xyz"
  2. 进行多项选择"ID" : "xyz"
  3. 在多项选择上使用文本糕点插件“数列 (\i)”
于 2013-03-04T12:36:55.403 回答
13

您可以使用增量选择。只需在多个数字选择上按Ctrl+ Alt+ 。I

您将首先需要包控制。所有这些安装时间不应超过 30 秒。

脚步:

  1. 安装包控制
    • 打开命令面板:Ctrl+ Shift+ P(Windows/Unix) / Command+ Shift+ P(Mac)。
    • 键入Install Package Control并单击以安装。
  2. 安装增量选择包。
    • 再次打开命令面板。
    • 键入Package Control: Install Package,单击它并等待一小段时间。
    • 键入Increment Selection并单击它进行安装。
  3. 选择多个数字并按Ctrl+ Alt+ I(Windows/Unix) / Command+ Control+ I(Mac)。

结果:

反转选择.gif


其他示例

增量选择还可以在数字前加上前导零、增加字母、按步增加、生成行号等。

   [1] text    [1] text    [1] ->  1| text  2| text  3|
   [a] text    [a] text    [a] ->  a| text  b| text  c|
  [01] text   [01] text   [01] -> 01| text 02| text 03|
[05,3] text [05,3] text [05,3] -> 05| text 08| text 11|
[5,-1] text [5,-1] text [5,-1] ->  5| text  4| text  3|

[#] line -> 1| line
[#] line -> 2| line
[#] line -> 3| line
[#] line -> 4| line
[#] line -> 5| line

提示:[]代表选择,|代表插入符号。

于 2019-04-13T01:03:50.963 回答
6

借助 Text Pastry 插件的新add-text-with-sequence 功能,它甚至少了一步:

  1. 查找全部"ID" : "\d+"(激活正则表达式搜索)
  2. 文本糕点命令行中,输入as "ID" : "0"
于 2017-05-16T14:07:10.790 回答