打印带有未格式化字符的字符串(“\ t”而不是制表符)

时间:2013-10-07 03:25:47

标签: java regex

我正在从一个我看不到的来源的文本中读取一串文字。我希望看到实际的格式代码,例如:\t \n等,而不是实际的标签和换行符

当我使用System.out.println打印字符串时,我会直观地看到标签,并且必须用鼠标突出显示它们。

我尝试使用正则表达式将字符串中的\t替换为\\t,但我对正则表达式几乎没有经验,所以我不确定我的表达式是否正确。这就是我所拥有的:

String text = extractor.getText();
text.replaceAll("\n", "\\n");

如果可能的话,我会很感激另一种没有正则表达式的方法。如果它有任何不同,我正在使用XSSFExcelExtractor

3 个答案:

答案 0 :(得分:1)

如果要查看Java将要转换的所有字符,可以尝试使用apache commons中的StringEscapeUtils

String s="\r\t\n abc";
System.out.println(StringEscapeUtils.escapeJava(s));

输出

\r\t\n abc

如果您只想转义\t\n,可以使用

String escaped = origina.replace("\t","\\t").replace("\n","\\n)"`

答案 1 :(得分:0)

String s="\r\t\n abc";
System.out.println(StringEscapeUtils.escapeJava(s));

答案 2 :(得分:-1)

尝试:

text.replaceAll("\\\", "/");