正则,我对它很无奈。。。。。。
1. String.split(Regex reg)
String s = "dogs. with words.";
// insert code here
for(String o: output)
System.out.print(o + " ");
要想输出字符包含dogs,有如下三种写法:
String[] output = s.split("\\.");
String[] output = s.split("\\d"):
//output will be: dogs. with words. 因为根本没有数字,它会将所有的字符串一起输出,这个有点儿特殊,要记住。。。。
String[] output = s.split("\\s");
总结:
\\d -- 代表数字
\\s --代表空格
\\. --代表实体字符.
例题:
package com.ocjp.regex;
import java.util.*;
public class LogSplitter {
public static void main(String[] args) {
for(int x = 1; x < args.length; x++){
System.out.print(args[0].split(args[x]).length + " ");
for(int j=0; j<args[0].split(args[x]).length;j++){
System.out.print((args[0].split(args[x]))[j]+" ");
}
System.out.println();
}
}
}
Command Invocation:
java LogSplitter "x1 23 y #" "\d" "\s" "\w"
Output:
4 x y #
4 x1 23 y #
6 #
解析:
这道题目是考查
\d 数字分割符号
\s 空格分格符号
\w 字母,数字,下划线作为分割符号
技巧:
要看分割后,有多个少token, 干脆数有多少个分割符号,那么token = 分割符+1;
里面有空值也算一个token,分割后得到的数组长度,包括NULL