首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java中打印转义字符?

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

Stack Overflow用户
提问于 2011-10-25 18:38:24
回答 8查看 52.7K关注 0票数 25

当我有像这样的字符串时:

代码语言:javascript
复制
String x = "hello\nworld";

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

例如,当调用

代码语言:javascript
复制
System.out.print(x);

我希望看到:

代码语言:javascript
复制
hello\nworld

而不是:

代码语言:javascript
复制
hello
world

我想看看实际的转义字符,以便进行调试。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-10-25 18:42:37

实现这一点的一种方法是:

代码语言:javascript
复制
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))

票数 16
EN

Stack Overflow用户

发布于 2014-08-26 14:48:46

使用Java lib "org.apache.commons.lang“中的"StringEscapeUtils.escapeJava”方法

代码语言:javascript
复制
String x = "hello\nworld";
System.out.print(StringEscapeUtils.escapeJava(x));
票数 34
EN

Stack Overflow用户

发布于 2011-10-25 18:40:29

您必须转义斜杠本身:

代码语言:javascript
复制
String x = "hello\\nworld";
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7888004

复制
相关文章

相似问题

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