Java split()方法中的特殊符号

一、split是什么?

在Java中,split()方法用于分隔字符串,可以根据匹配给定的正则表达式来拆分字符串。split()方法可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回;语法如下,其中参数regex指定正则表达式分隔符,limit指定分割的份数。分隔符可以是任意字符、符号、数字、字符串等。

stringInfo.split([regex,[limit]])

二、特殊字符处理

1.案例

private String data = "6&三-1号柜^7&三-2号柜^8&客服中心"; 
字符串转成 List数组 数组中包括 id 跟名字

这里就涉及到了特殊字符分割,如果按照传统分割 data.split("^"); 输出结果还是 字符串本身,所以在涉及到特殊字符分割的时候要前面要加上转义符

String data = "6&三-1号柜^7&三-2号柜^8&客服中心";
List<Pair<String, String>> list = new ArrayList<>();
String[] elements = data.split("\^");
for (String element : elements) {
    String[] parts = element.split("&");
    String id = parts[0];
    String name = parts[1];
    list.add(new Pair<>(id, name));
}

还有一种涉及到多符号分割,这种情况下不到要加上转义符 还要借助分割符处理、

String address="北京^北京市@海淀区#四道街";
String address = "北京^北京市@海淀区#四道街";
String[]splitAddress=address.split("\^|@|#");
System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);

总结

split即正则表达式。特殊符号有  |   +  *  ^   $   /   |   [   ]  (   )  -   .    等,因为它们是正则表达式中的一部分, 所以如果想用该字符本身,必须使用转义符即\加以转义才能表示它本身