輸入一句話(如:ni, hao. wo),將其中的所有單詞都輸出出來。
1.使用string的split方法
scanner scanner = new scanner(system.in);
string in = scanner.nextline();
string words = in.split("\\b");
for (int i = 0; i < words.length; i++)
\b用來匹配單詞邊界,一定要注意:split方法會將所有的邊界(如. " " )都儲存在返回的陣列中。其他的分隔符如split(",")中的逗號,不會儲存在陣列中。輸出結果如下:
若要滿足題目的要求,還要對陣列中的每個string進行判斷。
2.使用matcher中的find()方法
scanner scanner = new scanner(system.in);
string in = scanner.nextline();
pattern pattern = pattern.compile("[\\w]+");
matcher matcher = pattern.matcher(in);
while (matcher.find())
matcher中有三個方法方法需要注意。matches find lookingat
matches()方法永遠匹配的時整個字串
find()是找子串,若在使用find()前使用了matches(),則有可能對find()的結果產生影響,matchers前面吃進去的不會吐出來,所以一般需要reset()一下(使前面吃進去的吐出來)。當find()方法找到的時候,可以使用start()、end()方法返回子串在原字串中的開始和結束位置,end()是匹配子串最後乙個字元的下乙個位置。
lookingat()方法每次都是從頭找是否有匹配的子串。
上面程式執行的結果:
Java中的正規表示式
從jdk1.4開始,在string類中加入了matches 進行正則式的匹配,語法格式如下 boolean matches string regex regex為正則式,如果字串與正規表示式匹配則返回true,否則返回false。正規表示式的元字元如下圖所示 在正規表示式中,如果需要某一型別的字元多...
Java中的正規表示式
是指乙個用來描述或者匹配一系列符合某個句法規則的字串的單個字串。其實就是一種規則。有自己特殊的應用。正規表示式的組成規則 a 字元 x 字元 x。舉例 a 表示字元a 反斜線字元。n 新行 換行 符 u000a r 回車符 u000d b 字元類 abc a b 或 c 簡單類 abc 任何字元,除...
Java正規表示式
正規表示式結構簡介 字元 x 字元 x 反斜槓 0n 十進位制數 0 n 7 0nn 十進位制數 0nn 0 n 7 0mnn 十進位制數 0mnn 0 m 3,0 n 7 xhh 十六進製制數 0xhh uhhhh 十六進製制數 0xhhhh t 製表符 u0009 n 換行符 u000a r 回...