我想拆分字符串"ABC\DEF"
?
我试过了
String str = "ABC\DEF";
String[] values1 = str.split("\\");
String[] values2 = str.split("\");
但似乎没有工作。请帮忙。
答案 0 :(得分:2)
String.split()需要一个正则表达式。你需要转义每个\
,因为它在一个java字符串中(顺便说一下你应该在String str = "ABC\DEF";
上转义),你需要为正则表达式转义。最后,您将以这一行结束:
String[] values = str.split("\\\\");
"\\\\"
将是\\
字符串,正则表达式将其解释为\
。
答案 1 :(得分:2)
请注意String.split
按正则表达式拆分字符串。
一种正确的方法 1 指定\
作为分隔符,在RAW正则表达式中是:
\\
由于\
是正则表达式中的特殊字符,因此您需要对其进行转义以指定文字\
。
将正则表达式放在字符串文字中,您需要再次转义,因为\
也是字符串文字中的转义字符。因此,您最终得到:
"\\\\"
所以你的代码应该是:
str.split("\\\\")
请注意,这会拆分字符串中\
的每个实例。
1 其他方式(在RAW正则表达式中)是:
\x5C
\0134
\u005C
在字符串文字中(甚至比四重转义更糟糕):
"\\x5C"
"\\0134"
"\\u005C"
答案 2 :(得分:0)
使用它: String str =“ABC \\ DEF”; String [] values1 = str.split(“\\\\”);
答案 3 :(得分:-1)
final String HAY = "_0_";
String str = "ABC\\DEF".replace("\\", HAY);
System.out.println(Arrays.asList(str.split(HAY)));