当前位置: 首页 > 面试题库 >

如何在Java中打印转义字符?

宋飞舟
2023-03-14
问题内容

当我有一个字符串,如:

String x = "hello\nworld";

使用时,如何让Java打印实际的转义字符(而不将其解释为转义字符)System.out

例如,打电话时

System.out.print(x);

我想看看:

hello\nworld

并不是:

hello
world

我希望看到用于调试目的的实际转义符。


问题答案:

一种方法是:

public static String unEscapeString(String s){
    StringBuilder sb = new StringBuilder();
    for (int i=0; i<s.length(); i++)
        switch (s.charAt(i)){
            case '\n': sb.append("\\n"); break;
            case '\t': sb.append("\\t"); break;
            // ... rest of escape characters
            default: sb.append(s.charAt(i));
        }
    return sb.toString();
}

然后你跑了System.out.print(unEscapeString(x))



 类似资料:
  • 我对Java相当陌生,我想打印字符串中字符的频率(“过滤”)。我将输入过滤到只剩下“az”数组中的字符的位置。在我看来,这应该行得通,但我显然做错了什么,因为我要么收到错误消息(“超出范围”),要么就是打印的值不正确。

  • 问题内容: 我正在读取Java中的源文件,但是当我打印它(sysout)时,转义的字符不再转义。如何在Java中转义像和这样的字符? 问题答案: 您应该使用Apache Commons Text中的类(您也可以在Apache Commons Lang3中找到该类,但已弃用该类)。您会发现Apache Commons中还有许多其他产品可能对您在Java开发中遇到的其他问题有用,因此您不必重新发明轮子

  • 当前logback.xml 当前结果: 我想要结果:

  • 问题内容: 如何打印字符串的转义表示形式,例如,如果我有: 我希望输出: 在屏幕上而不是 问题答案: 我认为您正在寻找: 从Apache Commons Lang v2.6 在Apache Commons Lang v3.5 +中已弃用,请使用Apache Commons Text v1.2

  • 问题内容: 手动创建数据时,应如何转义字符串字段?我应该用什么样的中的或者我应该使用 问题是,当我使用时,它不会转义引号,并且当我将整个字符串包装在一对s中时,将生成格式错误的JSON。 问题答案: 理想情况下,找到一种使用你的语言的JSON库,你可以向该库提供一些适当的数据结构,并使它担心如何转义。它会让你保持头脑清醒。如果出于某种原因你没有使用你的语言的库,或者你不想使用一个库(我不建议这样做