0

我正在尝试采用所有间距、制表符、换行符(控制字符-NPC)都存在的格式的文本。并将其输出到 Intellij 中的文件中,因为这些控制字符将指示它们被格式化。

我可能会以一种完全愚蠢的方式去做。告诉我我是不是。我试图做的是使用正则表达式替换功能来选择所有控制字符表示,然后用它们实际对应的控制字符替换它们。

我遇到的问题是我试图使用正则表达式组/集合来获取角色,然后简单地替换为 -

\$1

当然,问题在于斜杠转义了我打算用来引用正则表达式组的美元符号,而不是转义美元符号。

我觉得我只是非常不知道应该使这变得更简单的东西。我知道我的无知。

到目前为止,这是我的尝试

正则表达式 -> "\(.)" 选择 "\n \r 或 \t"

和我的重置价值

\$1 将 "\n \r 或 \t" 转换为 "$1 $1 或 $1"

但如果我用

\$1 然后 "\n \r or \t" 仍然是 "\n \r or \t"

我不知道如何使反斜杠成为反斜杠,因为如果我这样做的话它会起作用

\n 这会将 "\n \r 或 \t" 转换为

"

或者

"

4

1 回答 1

0

首先尝试用非正则表达式输入替换字符,这样它就不会使正则表达式崩溃。例如,您可以搜索“(.)”并将其替换为 9。为什么是 9?因为它不是特殊的正则表达式字符。除了 9 之外,它可能还有很多东西,而不是 ^[]{}$. 等正则表达式字符。然后,您将拥有“91 91 或 91”。

接下来,使用常规搜索/替换而不是正则表达式进行搜索和替换,并将 9s 替换为 $。常规搜索和替换不会将 $ 识别为正则表达式行尾字符,因此您最终会得到所需的输出:“$1 $1 or $1”

于 2020-12-12T06:42:18.367 回答