一尘不染

如何在Java中转义字符串?

java

我正在读取Java中的源文件,但是当我打印它(sysout)时,转义的字符不再转义。如何在Java中转义像\n和这样\t的字符?


阅读 1117

收藏
2020-09-08

共1个答案

一尘不染

您应该使用Apache Commons Text中StringEscapeUtils类(您也可以在Apache Commons
Lang3中找到该类,但已弃用该类)。您会发现Apache
Commons中还有许多其他产品可能对您在Java开发中遇到的其他问题有用,因此您不必重新发明轮子。

您想要的特定调用与“
Java转义”有关;API调用为StringEscapeUtils.escapeJava()。例如:

System.out.println(StringEscapeUtils.escapeJava("Hello\r\n\tW\"o\"rld\n")

将打印出:

Hello\r\n\tW\"o\"rld\n

该库中还有许多其他转义的实用程序。您可以在Maven
Central中
找到Apache Commons
Text,
并将其添加到Maven项目中,如下所示:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-text</artifactId>
    <version>1.3</version>
</dependency>

如果您使用的是Gradle:

compile "org.apache.commons:commons-text:1.3"
2020-09-08