javascript - 使用 jQuery 将复杂的标点字符串拆分为大于 2 个字符的常规单词

标签 javascript jquery string split cpu-word

正如标题所示:

我正在尝试将句子拆分为逗号分隔的字符串或数组,其中包含长度大于 2 个字符且唯一的已清理单词(已删除重复项)。

示例字符串可能是:

$sString = 'Stackoverflow's users are awesome!!! Stackoverflow, is the "best" technical questions and answers website on the interwebnet!';

文章完成:

$sStringAfterProcessing = 'stackoverflow, users, are, awesome, the, best, technical, questions, and, answers, website, interwebnet';

请注意,第一个堆栈流已删除 ,标点符号和重复项均已删除。

这看起来可能会变得非常复杂。

欢迎提出建议,非常感谢所有帮助。

最佳答案

这里...

str = str.replace(/[^\w\s]/ig, "").replace(/\s/g, ", ");

将产生:

Stackoverflows, users, are, awesome, Stackoverflow, is, the, best, technical, questions, and, answers, website, on, the, interwebnet

示例: http://jsfiddle.net/ktFj2/1/

或者,采用数组格式:

var arr = str.replace(/[^\w\s]/ig, "").split(" ");

示例: http://jsfiddle.net/nnKV8/

更新:要从数组中删除重复项(以及长度为 < 2 的项目),如下所示:

var cleaned = [];
for(var i = 0; i < arr.length; i++) {
    var el = arr[i];

    if (el.length > 2 && $.inArray(el, cleaned) < 0) {
        cleaned.push(el);
    }
}

关于javascript - 使用 jQuery 将复杂的标点字符串拆分为大于 2 个字符的常规单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7732762/

相关文章:

javascript - 确保我的表单不会使用 jquery show/hide 多次提交

javascript - 用事件触发元素功能

jQuery TagIt(自动完成)通过 AJAX 获取 JSON 列表

C - cs50.h GetString 错误

javascript - list 文件中的 update_url 禁用我的 chrome 扩展

javascript - HighCharts 未在 Polymer 页面上呈现

javascript - JQuery、Froala - 更改光标所在元素的 CSS

jquery - 如果跨度包含特定文本,则添加显示 :none;

java - 检查是否有 3 个连续的辅音

c - 拆分一个字符串并组合 2 个字符串 - C