字符串分割-Java中的String.split()方法

在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”,转义字符,必须得加”\\”;

你可能感兴趣的:(java)