1.使用split()方法分割里字符串,例如,使用">"分割字符串,具体用法如下代码所示:
package com.imooc.day01;
public class SplitDemo {
public static void main(String[] args) {
String user = "mxq>123456";
String username = user.split(">")[0];
String password = user.split(">")[1];
System.out.println(username); // mxq
System.out.println(password); // aa123456
}
}
2.现在将">"右侧的子字符串删掉,只保留">"左侧的子字符串,然后使用">"分割字符串时,代码如下所示:
package com.imooc.day01;
public class SplitDemo {
public static void main(String[] args) {
String user = "mxq>";
String username = user.split(">")[0];
String password = user.split(">")[1];
System.out.println(username);
System.out.println(password);
}
}
会报异常:ArrayIndexOutOfBoundsException,如下所示:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at com.imooc.day01.SplitDemo.main(SplitDemo.java:7)主要是因为">"右侧为空时,不会进行分割!
现在我们将字符串转换成集合,然后打印出集合可以看到该集合中只有1个元素,所以在执行user.split(">")[1]时会报数组越界异常,代码如下所示:
package com.imooc.day01;
import java.util.Arrays;
import java.util.List;
public class SplitDemo {
public static void main(String[] args) {
String user = "mxq>";
// 将字符串转换成集合,并打印出该集合,以及该集合的长度
List<String> list = Arrays.asList(user.split(">"));
System.out.println(list);
System.out.println(list.size());
String username = user.split(">")[0];
String password = user.split(">")[1];
System.out.println(username);
System.out.println(password);
}
}
结果如下所示:
[mxq]
1
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at com.imooc.day01.SplitDemo.main(SplitDemo.java:14)若想将">"分隔符右侧的空打印出来,可以添加一个参数-1,-1表示返回所有的子字符串,具体用法如下所示:
package com.imooc.day01;
import java.util.Arrays;
import java.util.List;
public class SplitDemo {
public static void main(String[] args) {
String user = "mxq>";
// 将字符串转换成集合,并打印出该集合,以及该集合的长度
List<String> list = Arrays.asList(user.split(">", -1));
System.out.println(list);
System.out.println(list.size());
String username = user.split(">")[0];
String password = user.split(">")[1];
System.out.println(username);
System.out.println(password);
}
}
结果如下所示:
[mxq, ]
2
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at com.imooc.day01.SplitDemo.main(SplitDemo.java:14)
版权声明:本文为weixin_44679832原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。