jquery - 如何将 HTML 文本区域转换为单词 :count key value array with jQuery?

标签 jquery arrays string text

我有一个带有未经过滤的用户输入的文本区域,其中包括换行符、空格、标点符号等。我想获取所有不同的小写单词及其出现次数,并按出现次数排序。当 strip() 字符串可变时,我还没有找到直接提取单词的方法。有什么想法如何实现这一目标?

例如:

WORD1 Word2 word1 Word1, ...
word2 HELLO ...
. . hello .hi

会变成

val array = {
    word1 : 3,
    word2 : 2,
    hello : 2,
       hi : 1
};

感谢您的帮助!

最佳答案

这是一种可能的解决方案:

var result = {},
    value = $("textarea").val(),
    res = value.match(/\b([a-z0-9]+)\b/g) || [];

for (var i = 0; i < res.length; i++) {
    result[res[i]] = (value.match(new RegExp(res[i], "ig")) || []).length;
}

console.log(result);​

演示: http://jsfiddle.net/mmFgE/

关于jquery - 如何将 HTML 文本区域转换为单词 :count key value array with jQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12639937/

相关文章:

java - 在java中如何在字符串中找到一个单词并将其复制到另一个字符串变量中?

javascript - jQuery UI Datepicker 限制和可变日期范围自动更新

Jquery Ajax 将 JSON 发布到 Web 服务

javascript - 单击时更改背景

javascript - `query[name_value[0]] = name_value[1];` 中的数组解构是什么?

java - 如何反转字符串中的每个单词(单独)?

javascript - 打开模式时防止 BODY 滚动

JavaScript-仅从数组中获取负数

javascript - javascript中如何检查数组的维数?

c++ - 从 VBA 中的 (c++ BSTR) 字符串中删除 chr(0)