2011-12-06 76 views
1

我的代码片段:如何在unicoded字符串一个反斜杠取代双反斜线

String s1 = "\\u4f60\\u597d"; 
System.out.println(s1); //print:\u4f60\u597d 
String s2 = "\u4f60\u597d"; 
System.out.println(s2); //print chinese character:你好 

我想改变s1至s2的,也就是用一个反斜杠或部分取代双反斜线其他方法来完成这一行动。我曾尝试下面的方法,但它失败了,因为编译器提示无效的Unicode

"\\u4f60\\u597d".replace("\\\\u", "\u"); 
+0

在Java中更换行不通工作。你需要在你的源代码中替换它,然后编译器将它变成你好。 – Thilo

回答

6

你可能想给看看StringEscapeUtils.unescapeJava()从Apache的百科全书。

String s1 = "\\u4f60\\u597d"; 
    System.out.println(s1); //print:\u4f60\u597d   
    System.out.println(StringEscapeUtils.unescapeJava(s1)); 
    String s2 = "\u4f60\u597d"; 
    System.out.println(s2); //print chinese character 

产量:

\ u4f60 \ u597d

你好

你好

+0

非常感谢所有,问题解决使用“StringEscapeUtils.unescapeJava()” – user1082965

+0

如果这个答案帮助你解决你的问题,那么请标记绿色'非常好':) – npinti

0

这对我来说

String s1 = "\\u4f60\\u597d"; 
String ans = s1.replace("\\\\", "\\"); 
相关问题