带反冲的字符串-java

时间:2016-11-23 07:21:56

标签: java string escaping backslash

我有一个字符串如下:

String str="cn=sxscapp3\20,ou=Division,o=abc";

现在我想获得字符串的子字符串。

String newstr=str.substring(0,str.indexOf(","));

Expected result : cn=sxscapp3\20

Actual result: cn=sxscapp3\

对上述情况的任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:2)

在实际执行\20之前,您需要使用\\\\20替换substring字符,您可以参考以下代码:

String str="cn=sxscapp3\20,ou=Division,o=abc";
str = str.replaceAll("\20", "\\\\20");
String newstr=str.substring(0,str.indexOf(","));
System.out.println(newstr);

输出:cn = sxscapp3 \ 20

答案 1 :(得分:0)

看看Ascii表......

如果您打印的内容如下: \ 60

System.out.println("\60"); 

与打印0相同,因为0映射到60(八进制基数)

你需要首先挖掘斜线

str = str.replaceAll("\20", "\\\\20");