split对字符串使用指定的字符进行分隔,得到字符串数组。split有两种定义方法。
- 一种是split(String regex),regex是要分隔的字符。
- 另一种是split(String regex,int limit),regex是要分隔的字符,limit是要限制分隔后的数量。
public class test {
public static void main(String[] args) {
String str = "1,2,3,4,5";
String starray[] = str.split(",");
System.out.println("array length : "+starray.length);
for (int i = 0 ;i<starray.length;i++) {
System.out.println(starray[i]);
}
String starray2[] = str.split(",",2);
System.out.println("array2 length : "+starray2.length);
for (int i = 0 ;i<starray2.length;i++) {
System.out.println(starray2[i]);
}
}
}
输出结果:
array length : 5
1
2
3
4
5
array2 length : 2
1
2,3,4,5
- 对于特殊字符的分隔| ^ $ * . ( ) \ /等都是正则表达式的一部分,要前面加上\进行转义。注意\要用三个\\,也就是split(“\\”);
public class test {
public static void main(String[] args) {
String str = "1,(1.2,(6.3,4,5";
String starray[] = str.split("\\(");
System.out.println("array length : "+starray.length);
for (int i = 0 ;i<starray.length;i++) {
System.out.println(starray[i]);
}
}
}
运行结果:
array length : 3
1,
1.2,
6.3,4,5
- 逐个分隔字符串。split(“”);里面是空,不是空格。
public class test {
public static void main(String[] args) {
String str = "1,(1.";
String starray[] = str.split("");
System.out.println("array length : "+starray.length);
for (int i = 0 ;i<starray.length;i++) {
System.out.println(starray[i]);
}
}
}
运行结果:
array length : 5
1
,
(
1
.
- 还可使用多个分隔符进行分隔。split(“[分隔符分隔符]”)
public class test {
public static void main(String[] args) {
String str = "41234156367";
String starray[] = str.split("[13]");
System.out.println("array length : "+starray.length);
for (int i = 0 ;i<starray.length;i++) {
System.out.println(starray[i]);
}
}
}
运行结果:
array length : 5
4
2
4
56
67
参考链接:https://blog.youkuaiyun.com/qq_38419433/article/details/79583322