JAVAsplit函数,实现split函数
只写常用的,不全。
1.基本用法:根据指定的字符串划分字符串,例如:
公共类Main {
公共静态void main(String[] args) {
String ss= abcabcdefg
string[]split=ss . split( BC );
for(字符串st:split){
system . out . println(ST);
}
System.out.println(分隔后的字符串数组长度为);
system . out . println(split . length);
}
}输出:
a
a
罩
分隔字符串数组的长度为
32.需要使用多个字符进行分割:使用split([]),其中[]存储要分割的字符。注意现在是按字符分段的,比如:
公共类Main {
公共静态void main(String[] args) {
String ss= abcabcdefg
string[]split=ss . split([BC]);
for(字符串st:split){
system . out . println(ST);
}
System.out.println(分隔后的字符串数组长度为);
system . out . println(split . length);
}
}输出:
a
a
罩
分隔字符串数组的长度为
5原因是B和C都被视为拆分字符。
其实以上两种用法差不多就够了,重要的是一些特例:
1:字符串中有连续的分隔符。比如在2中,B也是分隔符,C也是分隔符,所以bc拆分时会生成一个空字符(),N个连续的分隔符会生成n-1个空字符。以下是调试期间的信息:
可以看到中间生成了一个空字符。
2:分隔符出现在表头,所以有几个分隔符就有几个空字符。例如
公共类Main {
公共静态void main(String[] args) {
String ss= aaabcabcdefg
string[]split=ss . split([a]);
for(字符串st:split){
system . out . println(ST);
}
System.out.println(分隔后的字符串数组长度为);
system . out . println(split . length);
}
}输出:
公元前
家人真实姓名
分隔字符串数组的长度为
5前三个A都是空字符。
3:有一些正则表达式,是特例。比如*等符号需要加转义符\
解决方法:
对于空字符,可以写一个遍历,用长度0过滤掉。
for(字符串st:split){
if(st.length() 0){
list . add(ST);
}
}对于转义字符,编译器会报错,所以尝试添加\
版权归作者所有:原创作品来自博主、程序员,转载授权请联系作者,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。