我有一个字符串,格式如下。 'abc','def','ghi'等
我想使用正则表达式找到此字符串中的单词数(单引号内的单词)。
编辑: 试过这个,我觉得这很有效:
int c = 0;
Pattern pattern = Pattern.compile("'[^*]'");
Matcher matcher = pattern.matcher(myString);
while(matcher.find()){
c++;
}
答案 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;