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(" "); //此处有个空格
public String[] split(String regex)根据给定的正则表达式的匹配来拆分此字符串。
然后就要明确正则表达式的含义了:
\\s
表示空格,回车,换行等空白符
+
号表示一个或多个的意思
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(“\.”), 输出:
注意,在中间的空字符串不会被忽略 注意,需要转义(\)的字符 有:" | " ^ " * " . " + " 注意: " , " 不需要转义
以上がJava では nextLine().split('[\\s]') は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。