解读nextLine().split(“[\\s]“)的意思
nextLine().split(“[\\s]“)的意思
Scanner sc = new Scanner(System.in);
String[] a = sc.nextLine().split("[\\s]"); 这句话的意思是,把输入的字符串以“[\\s]”为条件分割成一个String数组。
\\s表示空格,回车,换行等空白符
当然,单表示空格的话,也可以直接用空格即
Scanner sc = new Scanner(System.in);
String[] a = sc.nextLine().split(" "); //此处有个空格split("\\s+") 和 split(" +")
public String[] split(String regex)根据给定的正则表达式的匹配来拆分此字符串。
然后就要明确正则表达式的含义了:
\\s表示空格,回车,换行等空白符+号表示一个或多个的意思
.split(“,“, -1) 和 .split(“,“) 的区别
区别只有一个
1、当字符串最后一位有值时,两者没有区别
2、当字符串最后一位 或者 N位是分隔符时,前者不会继续切分,而后者继续切分。即前者不保留null值,后者保留。
举例:
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int sum = 0;
String s = sc.nextLine();
String[] str = s.split("\\.",-1);
for(int i=0; i<str.length; i++){
System.out.println(str[i]);
}
}
}
}输入:
河南..河北.
如果是 split(“\.”,-1), 则输出:

如果是如果是 split(“\.”), 输出:

注意,在中间的空字符串不会被忽略 注意,需要转义(\)的字符 有:" | " ^ " * " . " + " 注意: " , " 不需要转义
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
springboot整合Mybatis、JPA、Redis的示例代码
这篇文章主要介绍了springboot整合Mybatis、JPA、Redis的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-09-09
Java属性文件操作之Properties与ResourceBundle详解
这篇文章主要介绍了Java属性文件操作之Properties与ResourceBundle详解,两个类都可以读取属性文件中以key/value形式存储的键值对,ResourceBundle读取属性文件时操作相对简单,需要的朋友可以参考下2023-11-11


最新评论