仅删除包含特定字符串的行上的字符后的文本 Notepad++

仅删除包含特定字符串的行上的字符后的文本 Notepad++

我有一个 Json 文件,其中包含带有多个标签的“tag”属性,我只想保留第一个标签。

例子:

“标签”:“标签 1,标签 2,等等”,

期望输出:

“标签”:“标签1”,

使用以下表达式,我可以删除第一个之后的所有内容,并将其替换为",,但这会影响文件中的所有内容,而我只需要带有“标签”的行

\,.*$

我也尝试过将这些行添加到书签中并只对它们进行操作,但我认为这是不可能的

答案1

假设数据与示例中的完全一样,这将完成这项工作:

查找内容:("tags": ")([^,]*)\,.*
替换为:\1\2",

解释如下。

搜索字符串:

("tags": "):代表第一组内的文本"tags": "。这有点多余,但我这样措辞是为了让您能够用任何您喜欢的内容替换它,包括另一个正则表达式子表达式。

([^,]*): 代表任意数量的非逗号字符,包含在第二组内。

\,.*: 表示逗号后跟任意数量的字符,直到行尾。不包含在组中,因为它将被丢弃。

替换字符串:

\1:第一个匹配的组
\2:第二个匹配的组
",:字符",

相关内容