亲宝软件园·资讯

展开

Java String split切割字符串

KJ.JK 人气:0

一、public String[] split(String regex)

public String[] split(String regex):

根据传入的字符串参数,作为规则,切割当前字符串

String a="198,168,10,1";
String [] arr=a.split(",");

for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

二、public String[] split(String regex, int limit)

public String[] split(String regex, int limit):

根据传入的字符串参数和限制长度,作为规则,切割当前字符串(就是把字符串分成几段)

String b="2022-04-19";
String[] b1=b.split("-",2);   //分成两段
for (int i = 0; i < b1.length; i++) {
    System.out.println(b1[i]);
}

三、扩展

问题1:当切割到正则表达式符号的时候会切割失败

String a1="198.198.156";
String [] arr1=a1.split(".");

//当用正则表达式.切割的时候会出现什么都没有的情况,这是因为参数是正则表达式,而.在正则表达式中表任意字符,所以切割的时候会都切了
for (int i = 0; i < arr1.length; i++) {
    System.out.println(arr1[i]);
}

解决方法:使用转义字符 ‘\’ 就可以解决

String a1="198.198.156";
String [] arr2=a1.split("\\.");
for (int i = 0; i < arr2.length; i++) {
    System.out.println(arr2[i]);
}

问题2:当切割多个字符的时候会切割失败

String   s="198.19@19";
String [] sarr=s.split("\\.@");
for (int i = 0; i < sarr.length; i++) {
    System.out.println(sarr[i]);     //198.19@19
}

解决方法:当需要多个字符切割的时候要用到 | 这个分开

String   s2="198.19@19";
String [] s2arr=s2.split("\\.|@");
for (int i = 0; i < s2arr.length; i++) {
     System.out.println(s2arr[i]);
}

总结

1.split返回是一个字符串数组接收

2.为了防止切割的时候会因为正则表达式出现空白的情况,
以后所有切割都用\\为开头就行
             
3. 多个符号切割时记得用|分开

加载全部内容

相关教程
猜你喜欢
用户评论