如何替换java中变量中的“\ t”值

时间:2014-02-19 10:56:02

标签: java string

我有xml

<field>
       <fieldSeparator>\t</fieldSparator>
       <fieldOrder>field1,field2,field3</fieldOrder>
</field>

相应的FieldVO中有相应的值。

StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("someValue").append(fieldSeparator).append("SomeOtherText");

输出 - someValue\tSomeOtherText

这里我想渲染标签空间而不是"\t"

但是

String str = "text1,text2,text3";
String str1="\t";
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(str.replaceAll(",",str1));
System.out.println(stringBuffer);

Output --> text1 text2 text 3。

有人可以解释这两种行为吗?

感谢。

3 个答案:

答案 0 :(得分:0)

在运行时检查字符串(通过调试器) 它可能有\\t而不是\t 如果是这样,行为是很正常的 你应该看看你的字符串究竟是什么 然后,您应该将\\t替换为\t

答案 1 :(得分:0)

读取XML文件时,\t将被读取为两个单独的字符。在Java中,它将如下所示:\\t。只需将其替换为:

str.replace("\\t", "\t");

答案 2 :(得分:0)

您必须使用\\t代替\t