java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > nextLine().split(“[\\s]“)的意思

解读nextLine().split(“[\\s]“)的意思

作者:小布咙咚巴拉丁

这篇文章主要介绍了解读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)根据给定的正则表达式的匹配来拆分此字符串。

然后就要明确正则表达式的含义了:

.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(“\.”), 输出:

在这里插入图片描述

注意,在中间的空字符串不会被忽略 注意,需要转义(\)的字符 有:" | " ^ " * " . " + " 注意: " , " 不需要转义 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文