当前位置: 首页 > 面试题库 >

从长度超过N个字符的文本中提取单词-RegExp / Java / Android

太叔昊穹
2023-03-14
问题内容

我的第一个要求是使用Java中的正则表达式从某些文本中提取所有单词。

以下代码对我来说非常完美

String[] words = text.split("[^\\w']+");

它还删除除撇号(')之外的所有标点符号和特殊字符

我的下一个任务是 提取具有多个(例如)3字符的单词,重要的是,我想在上述正则表达式中执行此操作。

您可能会想出一些其他的正则表达式来完成这两项任务。


问题答案:

有趣的事实 。A
word是语音或写作的一个独特元素,形成一个句子,通常在两边都带有空格。\w匹配(任何letternumberunderscore

不清楚您要问的是什么,而没有更好地解释您要完成的任务。

如果要包含一个单词匹配letters和撇号'更多3字符..

List<String> words = new ArrayList<String>();
String s  = "I want to have alot of money's when I am older.";
Pattern p = Pattern.compile("[a-zA-Z']{4,}");
Matcher m = p.matcher(s);
while (m.find()) {
  words.add(m.group());
}
System.out.println(words);

// [want, have, alot, money's, when, older]

注意 :这匹配包含多个3字符的单词,如果您还想匹配包含3foo)或更多字符的单词,则可以使用以下内容。

Pattern p = Pattern.compile("[a-zA-Z']{3,}");


 类似资料:
  • 问题内容: 假设您有一个像这样的文本文件:http : //www.gutenberg.org/files/17921/17921-8.txt 有没有人有一个好的算法或开放源代码从文本文件中提取单词?如何获得所有单词,同时避免使用特殊字符,并保留诸如“ it’s”之类的内容… 我在用Java工作。谢谢 问题答案: 这听起来像是正则表达式的正确工作。如果您不知道如何开始,以下是一些Java代码,可以

  • 问题内容: 有谁知道从文本中仅提取名词的最简单方法? 我听说过TreeTagger工具,但尝试尝试一下,但由于某种原因而无法使用。 有什么建议? 谢谢菲尔 编辑: 那是我的代码,英语是语言。我遇到了错误:new TokenHandler(){}类型必须实现继承的抽象方法TokenHandler.token。难道我做错了什么? 问题答案: 首先,您必须标记文本。这看似微不足道(在任何空格处分割都可以

  • 我有一个文本框(EditText),当我插入一个文本和一个按钮时,应该计算该文本的长度并将其显示在另一个文本框中,我应该如何对该按钮进行编码

  • 我得到以下字符串: 我想从里面拿走食物和饮料。 我尝试了以下代码: 但它给人的感觉是,食物很刺激,喝了很多,离食物很近,三个和四个。

  • 我想读一个文本文件,打印出已知单词前面的单词,比如Java中的xxx。我使用Scanner类用java编写了这段代码。但是这段代码只打印了“xxx”前面的一半单词,而“xxx”前面的一些单词则丢失了。我想知道是什么问题,你能解决这个代码吗。 测试文件包含类似的内容

  • 我有一个复杂的字符串。 ex: AVG( 我要把AVG,MAX和MEAN列在名单上。 也可以有这样的字符串。 平均值(最大值)( 如何以最简单、最优化的方式实现这一点?