我想替换“\ u0023 \ u0024 ab” 有: “\\ u0023 \\ u0024 ab”在将数据存储到数据库之前保持其编码。
在\ u之后可以有很多不同的值,而不仅仅是0023,0024。
我尝试使用str.replace(“\”\\“);或(”\ u“,”\\ u“)但它在java中不起作用,因为它将\ u0023视为一个字符。
有任何建议如何实现这一目标?
我试过这个
public class test {
public static void main(String args[]) {
String s = "\u0023";
s = s.replace("\\", "\\\\");
System.out.println(s);
}
}
but it is giving following output as:
#
but I am expecting:
\\u0023
答案 0 :(得分:1)
如第一个答案here所述,您可以使用以下内容检索字符的(数字)unicode值:
// works up to Unicode 3.0
String hexString = Integer.toHexString(s | 0x10000).substring(1);
使用此号码,只需将其打印出来:
System.out.println("\u" + hexString);
(注意:代码未经测试:如果不起作用,请给我反馈)
希望这有帮助!
答案 1 :(得分:0)
String s = "\\u0023";
s = s.replace("\\", "\\\\");