1.定义

Java中的 split  函数是用于按指定字符(串)正则去分割某个字符串,结果以字符串数组形式返回;

例如: 

package com.java.model;

public class test {
	
	public static void main(String[] args) {
		String str="1234-5678";
		String[] s=str.split("-");
		for (int i = 0; i < s.length; i++) {
			System.out.println(s[i]);
		}
	}
}

运行结果:

 Java中split函数的用法_split

 

2.特殊字符串

但是对某些特殊字符,如果字符(串)正好是正则的一部分,则需要转义才能使用,

这些字符有 | , + , * , ^ , $ , / , | , [ , ] , ( , )  , . , \等, 因它们是正则表达式中的一部分, 所以如果想用该字符本身, 这些字符需要进行转义才能表示它本身;

例如:

若使用  |  竖线去分割某个字符串,因为  | 本身是表达式中的一部分,所以需要  \  去转义,因为要转义使用  \ ,而这个  \ 本身也是正则表达式中的一种,因而还得需要一个  \ ,总共两个  \ 

package com.java.model;

public class test {
	
	public static void main(String[] args) {
		String str="1234|5678";
		String[] s=str.split("\\|");
		for (int i = 0; i < s.length; i++) {
			System.out.println(s[i]);
		}
	}
}

结果是一样的:

Java中split函数的用法_split_02 

若是直接使用  |  来分割的话,会有什么结果呢?

package com.java.model;

public class test {
	
	public static void main(String[] args) {
		String str="1234|5678";
		String[] s=str.split("|");
		for (int i = 0; i < s.length; i++) {
			System.out.print(s[i]+",");	
		}
	}
}

运行结果:

Java中split函数的用法_split_03 

结果是每个字符都被分割了,而不是以  |  来进行分割的!