替换字符串的特定部分

时间:2015-09-01 20:13:59

标签: regex notepad++

我目前正在修改文件时遇到腌菜。让我们举个例子,我有这段文字:

                "id": "EFM",
                "type": "Casual",
                "hasBeenAssigned": false,
                "hasRandomAssigned": false
            },

我目前大约有73-80个:

 "id" : "somethingdifferent",

在notepad ++中使用正则表达式,如何选择整个字符串:

 "id" : "",

但只改变第二组引号之间的内容?

修改

疏忽使我遗漏了这些信息:

"equipedOutfit": {
                    "id": "MkIV",
                    "type": "Outfit",
                    "hasBeenAssigned": false,
                    "hasRandonAssigned": false
                },
                "equipedWeapon": {
                    "id": "EFM",
                    "type": "Casual",
                    "hasBeenAssigned": false,
                    "hasRandonAssigned": false
                },

所选文字是:

 "id" : "EFM",

3 个答案:

答案 0 :(得分:2)

你可以使用这样的正则表达式:

("id": ").*?"

使用替换字符串:

$1whatever"
  ^^^^^^^^--- replace 'whatever' with whatever you want

<强> Working demo

enter image description here

更新:当您更新问题时,我更新了答案。如果您只想替换"id": "EFM",那么您只需要查找该文本并添加所需的替换字符串。

答案 1 :(得分:1)

"id":\s*"\K[^"]*

您可以在此处使用\K并替换为whatever you want。请参阅演示。

https://regex101.com/r/sS2dM8/29

编辑:

如果您只想EFM,请使用

"id"\s*:\s*"\KEFM(?=")

答案 2 :(得分:1)

找到:("id"\s?:\s?").*(")

替换为:\1somethingdifferent\2

选项: 正则表达式,环绕

enter image description here