Подсчитать количество разделенных запятыми подстрок внутри одинарных кавычек в Java - PullRequest
0 голосов
/ 12 марта 2012

У меня есть строка в следующем формате. 'abc', 'def', 'ghi' и т. д.

Я хочу найти количество слов в этой строке (слов внутри одинарных кавычек) с помощью регулярных выражений.

редактировать: попробовал это, я думаю, что это работает:

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

Ответы [ 3 ]

5 голосов
/ 12 марта 2012

Зачем вам использовать регулярное выражение для подсчета?Вы можете использовать str.split (",") и получить размер массива?

3 голосов
/ 12 марта 2012

Использование 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);
1 голос
/ 12 марта 2012

Это не регулярное выражение, но работает быстро

int numberOfWords = (str.length() - str.replaceAll("'","").length()) / 2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...