java - 数数没有。在java中使用正则表达式的单词

标签 java regex

如何使用正则表达式计算Java中每个单词出现在字符串中的次数?

最佳答案

我认为正则表达式不能完全解决您的问题。

你想要

  1. 将字符串分割成单词,正则表达式可以为单词的一个非常简单的定义做到这一点,“字符串的各个部分由空格或标点符号分隔”,即使你只是坚持,这也不是一个很好的定义转为英文文本

  2. 计算从步骤 1 得出的每个单词出现的次数。为此,您必须存储某种映射,而正则表达式既不存储也不计数。

一个可行的方法可能是

  • 将输入字符串(通过正则表达式或其他方式)拆分为单词字符串数组
  • 迭代数组,并构建一个 Map 来记录每个单词的数量
  • 迭代 map 以输出单词列表和出现次数。

如果您的输入仅限于英语,您仍然需要考虑您希望算法在遇到诸如“they're<->theyareetc”和复合词之类的情况时如何表现。将其他语言添加到混合中以解决其他类型的头痛问题(同一单词的不同书写方式、单词分成几部分、根据单词在句子中出现的位置而产生的书写差异等)

关于java - 数数没有。在java中使用正则表达式的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3583435/

相关文章:

java - 对于没有名称的弹出窗口,弹出窗口名称为 ="window"的 waitForPopUp 方法的奇怪行为?

java - Autowiring 的 bean 为空

regex - Grep regex捕获不带端口的IP套接字

没有第一个字符的Android linkify

正则表达式:确定两个正则表达式是否可以匹配同一个输入?

java - Spring MVC - POJO 中名称中带有连字符的查询参数

java - 一个接一个地发送 HTTP POST 请求

java - 如何使用 Java 从 Selenium RC 调用 JavaScript 函数

javascript - js如何使用RegExp统计字符串中相同字符组成的子串

regex - 如何在 linux/unix 中删除文件中特定行中间的逗号