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]);
附:Java在split()时,需要转义的几个字符:
或'|',点'.',加'+',乘'*',在字符串中出现时,如果这个字符串需要被拆分,则拆分时候,需要在前面加两个反斜杠。
与&,在分裂时候,不需要转义。
用多个不同符号分割示例代码:用 '!' , '.' ,空格三个, '@' 来分割字符串
import java.util.Arrays; public class Main { public static void main(String[] args) { // TODO 自动生成的方法存根 String str="czh!han.bb test@love"; //用'!','.',空格三个,'@'来分割字符串 String[] a=str.split("\\s+|\\.|\\!|@"); System.out.println(Arrays.toString(a)); } }
输出如下:
注意上面的bb和test之间是三个空格,\\s后面用了+,就将这多个空格看作一个分隔符了!@不是那几种需要转义的字符之一,就不用加\\了!
[czh, han, bb, test, love]
总结
split即正则表达式。特殊符号有 | + * ^ $ / | [ ] ( ) - . \ 等,因为它们是正则表达式中的一部分, 所以如果想用该字符本身,必须使用转义符即\\加以转义才能表示它本身
到此这篇关于Java split()方法中的特殊符号的文章就介绍到这了,更多相关Java split()方法特殊符号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!