我对保存在数据库中的字符串有疑问,例如:"311\315_316\336_337"
。它们只有一个反斜杠,这是 java 中的一个问题。当我尝试 s.replaceAll("\", "\\")
它不起作用,因为 java 编译器读取字符串 "311\315_316\336_337"
作为 "311Í_316Þ_337"
。
我也尝试对 "311%C3%8D_316%C3%9E_337"
编码的结果进行编码和解码,但解码的结果仍然是 "311Í_316Þ_337"
?
如何解决一个反斜杠的问题?
我想将这个字符串传递给函数来执行一个拆分数字的过程,反斜杠是分隔符,但这个问题阻止了我这样做。
请您参考如下方法:
数据库里的数据没问题,不用换什么。直接用 Java 代码编写的字符串 literals 必须用另一个反斜杠转义它们的反斜杠:
String s = "311\\315_316\\336_337";
System.out.println(s); // prints 311\315_316\336_337
但是,如果您从数据库中获取这些值,则无需执行任何操作:
String s = resultSet.getString(1);
System.out.println(s); // should print 311\315_316\336_337