1

我像这样在Java中使用split

String str = "Bx=1946^Cx=1043423";
String[] parts = str.split("^");
for (String part : parts)
    System.out.println(part);

但是拆分后parts数组中只有一个元素,所以如果我想用“^”作为分隔符,应该写什么呢?

谢谢

4

2 回答 2

9

您需要转义^,它在正则表达式中具有特殊含义(单词、行和其他的开头):

String str = "Bx=1946^Cx=1043423";
String[] parts = str.split("\\^");
for (String part : parts)
    System.out.println(part);

输出将是:

Bx=1946
Cx=1043423
于 2013-03-01T17:32:14.927 回答
2

采用

str.split(Pattern.quote("^"));

代替

str.split("^");

Pattern.quote()在使用多个符号拆分的情况下也可以使用。例如,我们可以使用str.split(Pattern.quote("^^^^"));而不是添加太多的特殊字符,如str.split("\\^\\^\\^\\^").

于 2015-05-05T10:44:52.277 回答