1. ホーム
  2. java

[解決済み] Javaで文字列をエスケープするにはどうしたらいいですか?

2022-03-09 02:29:41

質問

Javaでソースファイルを読んでいるのですが、それを印刷(sysout)すると、エスケープされていた文字がエスケープされなくなります。次のような文字をエスケープするにはどうしたらよいでしょうか。 \n\t をJavaで文字列に変換することはできますか?

どのように解決するのですか?

を使用する必要があります。 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テキスト というように、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"