作者knt (我的寶...)
站內java
標題Re: [J2SE] 想問一個關於字串計算問題!
時間Thu Aug 28 00:07:53 2008
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringCount {
public static void main(String[] args) {
String str = "台股今日開低走高,受到昨日美股影響,台股今天表現可圈可點。";
String[] strMatch = {"台股","美股","開低走高"};
for (int i = 0; i < strMatch.length; i ++) {
int _count = 0;
Pattern pt = Pattern.compile(strMatch[i]);
Matcher mt = pt.matcher(str);
while (mt.find()) {
_count ++;
}
System.out.print(_count + " ");
}
}
}
-------------------------------------------
Result: 2 1 1
希望對你有幫助...
※ 引述《boyulin (working hard)》之銘言:
: 是這樣子的,我的問題卡了我許久,一直想不到好的方法可以使用,
: 也找尋過api,不過還是沒看到我需要的方法
: 先講一下我的問題
: 一個字串:"台股今日開低走高,受到昨日美股影響,台股今天表現可圈可點。"
: 我想要用另外一個個字串陣列去比較上面那個字串,
: 字串陣列: [台股,美股,開低走高]
: 我知道可以用matches去比較,不過這個只有回傳ture or false,
: 也因為他只要有找到相符的字,後面就中斷不找了,直接回傳ture
: 我需要的是 台股 在上面那串陣列中出現兩次..
: 所以我需要一個方法可以繼續讓他找下去的..
: 結果應該是要 台股 2次, 美股 1次, 開低走高 1次
: 請各位高手給我點提示吧!!
: 感謝了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.117.96.133
推 qrtt1:給魚吃的幫助, 長遠看起來不如傳授釣魚的技術 08/28 00:47
推 H45:_count, 前面加底線是否有什麼語意上的意義? 08/28 01:33
推 qrtt1:可能只是提示那個是暫時的東西 (疑) 08/28 09:43
→ knt:的確沒啥語意上得意義...如qrtt1所說的...a template value 08/28 12:58