首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Intellij中将带有控制字符的文本转换为格式正确的文本

如何在Intellij中将带有控制字符的文本转换为格式正确的文本
EN

Stack Overflow用户
提问于 2020-03-06 05:17:32
回答 1查看 39关注 0票数 0

我正在尝试获取一些包含所有空格、制表符、换行符(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“转换为

EN

回答 1

Stack Overflow用户

发布于 2020-12-12 14:42:18

首先尝试用非正则表达式输入替换字符,这样就不会使正则表达式崩溃。例如,您可以搜索"(.)“并将其替换为9。为什么是9?因为它不是特殊的正则表达式字符。它可以是除9之外的许多东西,只是不是一个正则表达式字符,比如^[]{}$,等等。然后,你会得到"91 91 or 91“。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60554063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档