gpt4 book ai didi

java - 在 Java 中使用正则表达式获取 n 个单词

转载 作者:行者123 更新时间:2023-11-29 07:22:03 24 4
gpt4 key购买 nike

我有一本书的一部分,包括标点符号、换行符等,我希望能够从文本中提取前 n 个单词,并将其分成 5 部分。正则表达式让我迷惑不解。这就是我正在尝试的。我创建了一个索引大小为 0 的数组,其中包含所有输入文本:

public static String getNumberWords2(String s, int nWords){
String[] m = s.split("([a-zA-Z_0-9]+\b.*?)", (nWords / 5));
return "Part One: \n" + m[1] + "\n\n" +
"Part Two: \n" + m[2] + "\n\n" +
"Part Three: \n" + m[3] + "\n\n" +
"Part Four: \n" + m[4] + "\n\n" +
"Part Five: \n" + m[5];
}

谢谢!

最佳答案

我认为最简单、最高效的方法,就是简单地反复查找一个“词”:

Pattern p = Pattern.compile("(\\w+)");
Matcher m = p.matcher(chapter);
while (m.find()) {
String word = m.group();
...
}

您可以通过修改正则表达式来改变“单词”的定义。我写的只是使用正则表达式的单词字符概念,我想知道它是否比您尝试做的更合适。但它不会包含引号字符,您可能需要在单词中包含引号字符。

关于java - 在 Java 中使用正则表达式获取 n 个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2793321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com