Создание разделенного пробелами списка, исключающего содержимое кавычек - PullRequest
0 голосов
/ 29 апреля 2020

Как мне создать список в java, который печатает [foo,bar,"lorem ipsum"] с ввода foo bar "lorem ipsum" Спасибо!

1 Ответ

0 голосов
/ 29 апреля 2020

Я понял это, имея два списка, которые находят значения, а затем объединяют их.

            String message = "foo bar "lorem ipsum";
            // Getting the value of the quotes
            List<String> quotes = new ArrayList<String>();
            Matcher m = Pattern.compile("\\\"([^\\\"]*)\\\"")
                    .matcher(message);
            while (m.find()) {
                quotes.add(m.group());
            }
            // Removing quotes from string
            message = message.replaceAll("\\\"([^\\\"]*)\\\"", "");
            List<String> space = Arrays.asList(message.split("\\s* \\s*"));
            // Merging the lists
            List<String> newList = Stream.concat(space.stream(), quotes.stream())
                    .collect(Collectors.toList());
            // Printing
            System.out.println(newList);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...