使用String.split函数进行字符串分割时需要注意下面两个事情
1.特殊字符作为分隔符时需要使用\\进行转义(比如使用\\作为分隔符的话,则转义为\\\\)
.$|()[{^?*+\\
比如这里对|分隔符字符串进行分割
String str = "a|b|c"; String[] strArr = str.split("\\|"); System.out.println(strArr.length); //这里输出3
for (int i = 0; i < strArr.length; ++i){ System.out.println(strArr[i]);//这里输出a b c
}
2.注意对最后空字符的处理(通常有些情况在最后数据为空的时候只保留了个分隔符,如果不做处理的话,数据分割后的个数会偏离预期)
String str = "a|b|c|"; //注意这里在最后多了一个|分隔符
String[] strArr = str.split("\\|"); System.out.println(strArr.length); //这里输出3
for (int i = 0; i < strArr.length; ++i){ System.out.println(strArr[i]);//这里输出a b c
}
如果你需要保留最后一个空字符的数据,则需要将split的第二个参数设置为-1
String str = "a|b|c|";//注意这里在最后多了一个|分隔符
String[] strArr = str.split("\\|",-1);//这里将第二个参数设置为-1
System.out.println(strArr.length); //这里输出4
for (int i = 0; i < strArr.length; ++i){ System.out.println(strArr[i]);//这里输出a b c 空字符串
}
以上。