在java.lang.String包中有split()方法,该方法的返回值是一个String类型的数组。
split()方法分别有以下两种重载方式:
split(String regex);
split(String regex,int limit);
参数regex :即 regular expression (正则表达式)。这个参数并不是一个简单的分割用的字符,而是一个正则表达式,它对一些特殊的字符可能会出现你预想不到的结果。如果该参数为"",返回值为包含整个字符串的单一元素数组。
参数limit:该值用来限制返回数组中的元素个数(也就是最多分割成几个数组元素,只有为正数时有影响)
1、“.”和“|”作为分隔符时,前面必须得加"\";
示例 1
String[] strArray = "192.168.0.1".split("\\.");
//"."作为分隔符时,必须用"\\"进行转义
for (String str:strArray) {
System.out.println(str);
}
2、如果在一个字符串中有多个分隔符,可以用“|”作为连字符;
比如:String str="Java string-split#test",可以用str.split(" |-|#")把每个字符串分开。
3、用“*”或“+”作为分隔符参数,split()方法运行将抛出java.util.regex.PatternSyntaxException异常,也需要在前面加上“\\”进行转义。
示例 2
// String[] strArray = "aaa*bbb*ccc".split("*"); //错误的写法
String[] strArray = "aaa*bbb*ccc".split("\\*"); //正确的写法
for (String str:strArray) {
System.out.println(str);
}
4、如果用"\"作为分隔符,就得写成这样:String.split("\\\\"),因为在Java中是用"\\"来表示"\\"的,字符串得写成这样:String str="a\\b\\c",转义字符,必须得加"\\";