引
String oneTextValue = "1223)234"; String[] chunks = oneTextValue.split("\\)"); String oneTextValue2 = "1223)234)"; String[] chunks2 = oneTextValue2.split("\\)"); String oneTextValue3 = "1223234"; String[] chunks3 = oneTextValue3.split("\\)"); String oneTextValue4 = ")1223234"; String[] chunks4 = oneTextValue4.split("\\)");
结果
现象
结尾空字符串被丢弃的问题
第2个例子中结果并不是 {"1223", "234", ""}, 而是 {"1223", "234"}
避免结尾空字符串丢弃
String oneTextValue2 = "1223)234)";
String[] chunks2 = oneTextValue2.split("\\)", -1);
结果
转移字符
1. 如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|"); “.”和“|”都是转义字符,必须得加"\\";
多个分隔符
2. 如果在一个字符串中有多个分隔符,可以用“|”作为连字符
String oneTextValue = "12(23)234";
String[] chunks = oneTextValue.split("\\(|\\)");
结果
{"12", "23", "234"}
函数重载
public String [] split (String regex, int limit)
limit 限制了分割后的数组的长度,例
"1223)234)".split("3") 结果:{"122", ")2", "4)"} "1223)234)".split("3", 0) 结果:{"122", ")2", "4)"} "1223)234)".split("3", 1) 结果:{"1223)234)"} "1223)234)".split("3", 2) 结果:{"122", ")234)"} "1223)234)".split("3", 3) 结果:{"122", ")2", "4)"} "1223)234)".split("3", 4) 结果:{"122", ")2", "4)"}
本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/8032350.html,如需转载请自行联系原作者