在 Notepad++ 中交换字符串

在 Notepad++ 中交换字符串

我想弄清楚如何使用正则表达式来交换用引号/逗号分隔的三个文本部分。为了回答这个问题,我将它们称为字符串,但我不确定这是否正确。下面是一个例子:

"TEXT_MAP_CENTER","中央地点","Center of Map"

我需要将第二个字符串中的日语文本与第一个字符串中的英语文本交换,因此它的内容为:

"TEXT_MAP_CENTER","Center of Map","中央地点"

这只是 4300 多行中的一行,每个字符串都是唯一的。幸运的是,在这个特定的文件中,每行总是三个字符串。我需要在第二个文件中执行此操作,其中的文本会换行。

为了快速完成此操作,我知道可以使用正则表达式来实现此目的,但鉴于这不是我的专业领域,因此我遇到了很大困难。我该怎么做呢?

答案1

代替

,(".*?"),(".*?")$

,\2,\1

这两个()捕获两个字符串,分别由\1和引用\2。然后我们用第二个匹配的字符串替换第一个,反之亦然

如果字符串包含换行符,那么你只需要选择.匹配换行符在正则表达式搜索选项中。不启用该选项的另一种方法是

Find what:    ^("[^"]*"),("[^"]*"),("[^"]*")$
Replace with: \1,\3,\2

相关内容