java - 创建排除引号内容的空格分隔列表

标签 java list

我如何在java中创建一个列表,从foo bar“lorem ipsum”的输入打印[foo,bar,“lorem ipsum”]谢谢!

最佳答案

我想通了,有两个列表可以找到值然后将它们合并。

            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);

关于java - 创建排除引号内容的空格分隔列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61510190/

相关文章:

python - 如何获取使用 "if element in list"找到的元素的索引或元素本身

java - Java 中的 ArrayList 的 ArrayList - 缩短代码

C 判断链表中是否存在某个值

java - 如何失去 JMenuItem 焦点或关闭 JPopupMenu

java - 集成 Apache Camel CXF-RS + CXF Jax-RS OAuth

java - 如何理解这段详细的多线程和匿名类相关代码?

python - 在 Pandas 中列出月份和年份

jquery - 显示来自选择列表 jquery 的值

java - 将圆形附加到 Path2D

java - 从android中的url加载图像时发生类转换异常