как вести статистику содержания скобок (включая скобки) в строке - PullRequest
2 голосов
/ 24 октября 2011

У меня есть строка типа 23ert[word]45y[li]dfdf[beautiful]adf. Я хочу собрать каждое слово в квадратных скобках [...] в массив или коллекцию. Пример строки будет иметь [word], [li] и [beautiful] в массиве или коллекции.

Как я могу использовать регулярные выражения или любые другие методы для этого?

edit: когда я использую следующие методы veru good, но когда строка 56 [ty [df] yu] 5689, я хочу получить только [df], как изменить код

Ответы [ 2 ]

2 голосов
/ 24 октября 2011
List<String> matchList = new ArrayList<String>();
try {
    Pattern regex = Pattern.compile("\\[.+?\\]");
    Matcher regexMatcher = regex.matcher(subjectString);
    while (regexMatcher.find()) {
        matchList.add(regexMatcher.group());
    } 
} catch (PatternSyntaxException ex) {
    // Syntax error in the regular expression
}

Попробуйте это.

2 голосов
/ 24 октября 2011
static public List<String> collect(String str) {
    List<String> list = new ArrayList<String>();
    Pattern p = Pattern.compile("\\[.+?\\]");
    Matcher m = p.matcher(str);
    while (m.find())
        list.add(m.group());
    return list;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...