作者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
1F:推 qrtt1:给鱼吃的帮助, 长远看起来不如传授钓鱼的技术 08/28 00:47
2F:推 H45:_count, 前面加底线是否有什麽语意上的意义? 08/28 01:33
3F:推 qrtt1:可能只是提示那个是暂时的东西 (疑) 08/28 09:43
4F:→ knt:的确没啥语意上得意义...如qrtt1所说的...a template value 08/28 12:58