我正在尝试获取一些包含所有空格、制表符、换行符(control-characters - NPCs)的文本。并将其输出到Intellij中的文件中,因为这些控制字符将指示它们的格式。
我可能在用一种完全愚蠢的方式来做这件事。如果我是,请告诉我我尝试做的是使用正则表达式替换功能来选择所有控制字符表示,然后用它们实际对应的控制字符替换它们。
我遇到的问题是我试图使用正则表达式组/集来获取字符,然后简单地让替换-
\$1
当然,这样做的问题是斜杠转义了美元符号,我打算用它来引用regex组,而不是转义美元符号。
我觉得我只是对一些可以让事情变得更简单的东西一无所知。我意识到我的无知。
到目前为止,我的尝试如下
-> "(.)“的正则表达式选择"\n \r或\t“
和我的重置价值
\$1将"\n \r或\t“转换为"$1 $1或$1”
但是如果我把它替换成
\$1则"\n \r或\t“保持"\n \r或\t”
我不知道如何将反斜杠变成反斜杠,因为如果我这样做了,它就会起作用
\n将"\n \r或\t“转换为
“
或
“
发布于 2020-12-12 14:42:18
首先尝试用非正则表达式输入替换字符,这样就不会使正则表达式崩溃。例如,您可以搜索"(.)“并将其替换为9。为什么是9?因为它不是特殊的正则表达式字符。它可以是除9之外的许多东西,只是不是一个正则表达式字符,比如^[]{}$,等等。然后,你会得到"91 91 or 91“。
接下来,使用常规的搜索/替换进行搜索和替换,而不是正则表达式,并将9替换为$。常规搜索和替换不会将$识别为regex行尾字符,因此您最终将得到所需的输出:"$1 $1或$1“
https://stackoverflow.com/questions/60554063
复制相似问题