Java 按条件用空格分割

标签 java split

我想用空格分割字符串。但是,如果单词用引号引起来,则将它们视为一个单词。

例如要拆分的单词。我会得到word,to,split.

但是如果 "word to"split 我应该得到 "word to"split。引号保留。

最佳答案

这就是你想要的吗??

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TmpTest {
    public static void main(String args[]) {
        final String regex = "\".*?\"|\\b\\w+\\b";
        final String string = "\"word to\" split i should get \"word to2\", split.";

        final Pattern pattern = Pattern.compile(regex);
        final Matcher matcher = pattern.matcher(string);

        while (matcher.find()) {
            System.out.println("Full match: " + matcher.group(0));
        }
    }
}

demo

关于Java 按条件用空格分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40374370/

相关文章:

java - 创建一个表来存储单行是糟糕编程的标志吗?

java - 为什么在捕获时使用 IOexception 而不是 Exception?

javascript - 分割包含箭头字符的字符串

java - 标准 API IN 与 ArrayList

java - Gradle 构建未使用的依赖项

java - 如何使用 GitLab runner 运行 spring-boot 应用程序?

c# - 在 “,” 上拆分,但不在 “/,” 上拆分

c - 从 C 中的字符串中获取子字符串

regex - Scala 按包含所有连字符的行拆分多行字符串

r - 根据条件拆分为 list(),省略 False 元素