0

我需要用其他字符串替换部分文本。

例子:

{abc,bcd},{ def,ghi}

我想替换abcanddefx:abcand x:def

我想替换左大括号中的第一个值。但我不知道我会得到什么价值。

因此,为了替换,我需要识别左大括号后的字母,我可以通过使用这种模式来识别/\{.*?\,/

但我现在不知道如何用文本替换匹配的字符串。我该怎么做?

答案不必与 notepad++ 相关。您可以使用任何语言来解释如何操作。

4

2 回答 2

1

在 Notepad++ 中,添加双引号 arround abc 或 def:

搜索内容:\{\s*(\w+)
替换为:{x:"$1"

这将{abc,bcd},{ def,ghi}变为{x:"abc",bcd},{x:"def",ghi}

或者如果它可以是大括号后的任何字符但逗号:

搜索内容:\{([^,]+)
替换为:{x:"$1"

于 2013-09-30T10:57:37.533 回答
1

你甚至不需要正则表达式来做到这一点。

寻找:

{

将其替换为:

{"x":

在终端测试, sed 使用BRE,所以{没有特殊含义。

kent$ echo "{abc,bcd},{ def,ghi}"|sed 's/{/{"x":/g'
{"x":abc,bcd},{"x": def,ghi}
于 2013-09-30T10:33:23.257 回答