java split("\\s+", -1)双参,第二个参数有什么意义
发布网友
发布时间:2022-04-27 09:57
我来回答
共5个回答
热心网友
时间:2023-09-10 19:22
简单举个例子吧
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
String a = "aaaa b d";
String[] b = a.split("\\s+", -1);
System.out.println(b[0]);
}
}
若第二个参数是<1,则输出 aaaa。
若第二个参数为1,则输出aaaa b d。
由上可知,第二个参数是规定数组元素的个数。第二个参数为-1则使数组元素个数达到最大值,即可以输出b[0],b[1],b[2].而1则输出b[0],一个数组元素输出全部。
热心网友
时间:2023-09-10 19:22
stringObj.split([separator,[limit]]) ; 只能用String数组接收
separator参数是分隔符,就是你已某组字符作为标识。
limit是*返回数组元素的个数
你的这个就是以
\\s+作为分隔符。返回-1个
其他事列
String str="1234@abc";
String[] a = str.split("@");
System.out.println("处理结果: "+a[0]+","+a[1]); //输出的是: 处理结果: 1234,abc
PS:
plit 的实现直接调用的 matcher 类的 split 的方法。我们知道,“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。 只要将
String iparray[]=ipstring.split(".");
改为
String iparray[]=ipstring.split("\\.");
热心网友
时间:2023-09-10 19:23
String str = "ww-ll-ee-aa-bbbb-ccc";
String a = "-";
int b = 2;
for (String retval: str.split(a, b)){
System.out.println(retval);
}
第二个参数就是,需要切割的份数.
例,
b <= 0(默认等于0) 切分后: String[] split =["ww", "ll", "ee", "aa", "bbbb", "ccc"]
b=1 --> 切分后: String[] split =["ww-ll-ee-aa-bbbb-ccc"]
b=2 --> 切分后: String[] split =["ww","ll-ee-aa-bbbb-ccc"]
b=3 --> 切分后: String[] split =["ww", "ll", "ee-aa-bbbb-ccc"]
以此类推
热心网友
时间:2023-09-10 19:23
该值用来*返回数组中的元素个数。
负数的情况是多被分隔几次
如 "boo:and:foo" .split(“:”,2) 返回 { "boo", "and:foo" }
如 "boo:and:foo" .split("b",-2) 返回 { "b", "", ":and:f", "", "" }
热心网友
时间:2023-09-10 19:24
把这个字符串分割成多长的数组 。负数表示最大值追问表示什么的最大值
追答加上负数其实等价于java split(\\s+),你自己也可随便取个字符串,然后使用这个方法去分割字符串。这样你就会明白其中的道理的。下面是我做测试用的:你在eclispe里运行下,看下结果就知道了
String s="12345666776677";
String ss[]=s.split("6");
for(String s1:ss){
System.out.println(s1);
}