计算Java中单引号内逗号分隔的子串的数量

时间:2012-03-12 10:42:00

标签: java regex

我有一个字符串,格式如下。 'abc','def','ghi'等

我想使用正则表达式找到此字符串中的单词数(单引号内的单词)。

编辑: 试过这个,我觉得这很有效:

        int c = 0;
        Pattern pattern = Pattern.compile("'[^*]'");
        Matcher matcher = pattern.matcher(myString);
        while(matcher.find()){
           c++;
        }

3 个答案:

答案 0 :(得分:5)

为什么要使用正则表达式来计算? 您可以使用str.split(“,”)并获取数组大小?

答案 1 :(得分:3)

使用Regex

String regex = "your regular expression here";   // Regex that matches double words
Pattern p = Pattern.compile(regex);     // Compile Regex
Matcher m = p.matcher("your upcoming string");         // Create Matcher
int count = 0;
while (m.find()) {
  count++;
}
system.out.println("Number of match = "+count);

使用字符串

String str = "'abc','def','ghi'";

String wordsWithQuotes[] = str.split(",");
System.out.println("no of words = "+wordsWithQuotes.length);

System.out.println("no of words = "+str.split(",").length);

答案 2 :(得分:1)

这不是正则表达式,但它可以快速运行

int numberOfWords = (str.length() - str.replaceAll("'","").length()) / 2;