看板 java 關於我們 聯絡資訊
※ 引述《a395397 (不知道為什麼)》之銘言: : { : char k[] = taggedString.toCharArray(); : rw = rv; : while (k[rw] != " ".charAt(0)&& : k[rw] != ".".charAt(0)&& : k[rw] != ",".charAt(0)&& : k[rw] != "(".charAt(0)&& : k[rw] != ")".charAt(0)&& : k[rw] != ":".charAt(0)&& : k[rw] != "!".charAt(0)&& : k[rw] != "?".charAt(0)&& : k[rw] != "/".charAt(0)) : { : rw--; : } : 有沒有辦法~直接判斷說,只要不是標點符號就 減減-- : 不然的話要找出所有標點符號的可能性 這樣很麻煩說= = 把你認定的標點符號字元收集成一個 String,以上面的程式碼來說,類似 String punctuation = " .,():!?/"; 然後利用 String::indexOf(int) method 來判斷一個字元是否在集合裡。 if (-1 == punctuation.indexOf(k[rw])) --rw; 使用 HashSet or TreeSet 來替代 String(集合),效率會更好(如果集合的 size 很大) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.129.50
a395397:多謝啦 ^^ 01/16 20:01
TonyQ:用regex 可以更直覺一點 :p 01/17 02:08