我的问题是我想用分隔符^
在java中拆分字符串。
我正在使用的语法是:
readBuf.split("^");
但是这不会拆分字符串。实际上这适用于所有其他分隔符,但不适用于^
。
答案 0 :(得分:12)
split
使用正则表达式(不幸的是,IMO)。 ^
在正则表达式中具有特殊含义,因此您需要将其转义:
String[] bits = readBuf.split("\\^");
(Java转义需要第一个反斜杠。实际的字符串只是一个反斜杠和插入符号。)
答案 1 :(得分:2)
使用\\^
。因为^
是一个特殊字符,表示行锚的开始。
String x = "a^b^c";
System.out.println(Arrays.toString(x.split("\\^"))); //prints [a,b,c]
答案 2 :(得分:0)
或者你可以使用... StringTokenizer而不是分裂
StringTokenizer st=new StringTokenizer(Your string,"^");
while(st.hasMoreElements()){
System.out.println(st.nextToken());
}
答案 3 :(得分:0)
您也可以使用:
readBuf.split("\\u005E");
\ u005E是“^”的十六进制Unicode字符,你需要添加一个“\”来转义它。
所有角色都可以通过这种方式进行转义。