首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索逗号,如果是孤儿,则删除

搜索逗号,如果是孤儿,则删除
EN

Stack Overflow用户
提问于 2013-05-15 12:44:49
回答 2查看 212关注 0票数 0

我有一个脚本,作为一个筛选器,根据用户输入的内容从页面中删除元素,当用户键入一个关键字到列表中时,过滤效果很好,

一个用户输入我的样子,

听着,妈,这些是,关键词,砰

以及你的输出

  • 体量
  • 这些
  • 关键词

在单击其中一个列表项时,我从列表和用户输入中删除它,我的问题是那些检测到是否和关键字一样,我还需要删除一个逗号后的单词。有什么方法可以搜索我是否也需要删除一个逗号,我的当前脚本是这样的,

代码语言:javascript
复制
$(document).on("click", ".remove-tag", function(e){
        e.preventDefault();
        $(this).parent().animate({
            "width" : "0px",
            "overflow" : "hidden"
        }, 500, function(){
            $(this).remove();
            var str = $("#options_1").val();
            console.log(str);
            var newStr = str.replace($(this).text(), "");
            console.log(newStr);
            $("#options_1").val("");
            $("#options_1").val(newStr);
        });
    });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-15 12:49:04

通过拆分和过滤,没有正则表达式:

代码语言:javascript
复制
var newStr = str.split(',').filter(function(n){return n.trim()}).join(',');

FIDDLE

票数 1
EN

Stack Overflow用户

发布于 2013-05-15 12:48:46

您可以使用regex ,? (可选地匹配, )来完成这一任务。

代码语言:javascript
复制
var newStr = str.replace("\s*"+$(this).text()+"\s*,?", "");

\s匹配一个space

*是一个量词,它将前面的字符0匹配到多个times..so \s*表示匹配0到多个空格。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16565355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档