Как получить слово или слова в символ в строке - PullRequest
1 голос
/ 26 февраля 2020

Мне нужно получить слова, заключенные в символы « » в строке:

Пример :

String phrase = "«User» of the «application»";

String words[] = phrase.indexOf("«") + phrase.indexOf("»")

words[0] = "User";
words[1] = "application";

Проблема в том, что решение получает только первое слово: «Пользователь», и мне нужны все слова в рамке ...

Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 26 февраля 2020

Сделайте это следующим образом:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        String phrase = "«User» of the «application»";
        Pattern p = Pattern.compile("«\\w+»");
        Matcher m = p.matcher(phrase);
        while (m.find()) {
            list.add(m.group().replaceAll("«", "").replaceAll("»", ""));
        }
        String words[] = list.toArray(new String[0]);
        System.out.println(Arrays.toString(words));
    }
}

Вывод:

[User, application]
1 голос
/ 26 февраля 2020
    String phrase = "«User» of the «application»";
    Pattern p = Pattern.compile("«\\w+»");
    Matcher m = p.matcher(phrase);
    while (m.find()) {
        String text = m.group().substring(1,m.group().length()-1);
        System.out.println(text);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...