通过使用正则表达式让句子包含多个空格我尝试实现以下目标:
句子示例:这是一个简单的文本。
预期结果:[这个, 是一个简单的文本。]
实际结果:[这是一个简单的文本。]
ArrayList<String> tokens = new ArrayList<>();
Pattern tokSplitter = Pattern.compile("[a-zA-Z.*//s*]+");
Matcher m = tokSplitter.matcher("This is a simple text.");
while (m.find()) {
tokens.add(m.group());
}
System.out.println(tokens);
最佳答案
你可以这样写:
public static void main(String[] args) {
ArrayList<String> tokens = new ArrayList<>();
Pattern tokSplitter = Pattern.compile("(\\s*[a-zA-Z.]+)\\s?");
Matcher m = tokSplitter.matcher("This is a simple text.");
while (m.find()) {
tokens.add(m.group(1));
}
System.out.println(tokens);
}
输出:[这是一个简单的文本。]
关于java - 使用正则表达式将句子拆分为单词,其中单词还包含多个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60954169/