Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript进行字符串操作_Javascript_Jquery - Fatal编程技术网

使用javascript进行字符串操作

使用javascript进行字符串操作,javascript,jquery,Javascript,Jquery,我正在使用javascript进行一些字符串操作。我有一个senario,需要在字符串中搜索并删除某些单词 这是我的塞纳里奥: 当我单击“单击我”时,它应该在字符串变量的输入中查找单词, 如果找到匹配项,则应将该词从输入中删除 这是我的另一个senario,当从输入中删除单词时,它应该删除:和匹配单词前面的整数值和逗号(如果可用) 在我的示例中,文本框中的输入是1:first user,2:second user 我需要输出为2:seconduser 我怎样才能做到这一点 <input

我正在使用javascript进行一些字符串操作。我有一个senario,需要在字符串中搜索并删除某些单词

这是我的塞纳里奥: 当我单击“单击我”时,它应该在字符串变量的输入中查找单词, 如果找到匹配项,则应将该词从输入中删除

这是我的另一个senario,当从输入中删除单词时,它应该删除:和匹配单词前面的整数值和逗号(如果可用)

在我的示例中,文本框中的输入是1:first user,2:second user 我需要输出为2:seconduser

我怎样才能做到这一点

 <input id='textinput' type='text' value='1:first user,2:second user'></input>
 <div class='click'>Click me</div>
我创造了一把小提琴

编辑


这里我的变量字符串只包含用户名,我不能用用户名附加id,例如1:first user,因此字符串变量中不会有精确的匹配项。

在JavaScript代码中,
string
是一个变量。您需要启动
RegExp
类来生成模式:

另外,请不要使用变量名,如
string
。它是全局对象的名称

var s = 'first user';
var x = $( '#textinput' ).val().replace(new RegExp(s, 'g'), '');
// use the new variable x as you wish

在JavaScript代码中,
string
是一个变量。您需要启动
RegExp
类来生成模式:

另外,请不要使用变量名,如
string
。它是全局对象的名称

var s = 'first user';
var x = $( '#textinput' ).val().replace(new RegExp(s, 'g'), '');
// use the new variable x as you wish
您应该使用,您需要使用字符串变量初始化它

使用

编辑


这里我不能在变量中使用1:first user

您应该使用,您需要使用字符串变量初始化它

使用

编辑


这里我不能在变量中使用1:first user


您可以使用如下正则表达式:

 var text = '1:first user,2:second user,3:third user';

 var s = 'first user';

 var re = new RegExp('^\\d+:' + s + ',?|,\\d+:' + s + '\\b');

 text.replace(re, '') // '2:second user,3:third user'

我确信还有一个较短的表达式。

您可以使用如下正则表达式:

 var text = '1:first user,2:second user,3:third user';

 var s = 'first user';

 var re = new RegExp('^\\d+:' + s + ',?|,\\d+:' + s + '\\b');

 text.replace(re, '') // '2:second user,3:third user'

不过我肯定还有一个较短的。

我已经删除了起始数字、下划线和结尾逗号

$(document).ready(function () {

    $(".click").click(function () {
        var string = 'first user';
        var re = new RegExp('\\d:*'+string+',*',"g");
        var text = $('#textinput').val().replace(re, '');;
        $('#textinput').val(text);

    });
});
检查演示


我删除了起始数字、下划线和结尾逗号

$(document).ready(function () {

    $(".click").click(function () {
        var string = 'first user';
        var re = new RegExp('\\d:*'+string+',*',"g");
        var text = $('#textinput').val().replace(re, '');;
        $('#textinput').val(text);

    });
});
检查演示

我已经更新了您的

首先,我将字符串拆分为数组

var inputArr = ($('#textinput').val()).split(',');
因此,我可以使用
for
循环检查每组单词

    for (i = 0; i < inputArr.length; i++) {

        if (inputArr[i].indexOf(string) == -1) {
            newStr = newStr + inputArr[i] + ',';
        }
    }
我已经更新了你的

首先,我将字符串拆分为数组

var inputArr = ($('#textinput').val()).split(',');
因此,我可以使用
for
循环检查每组单词

    for (i = 0; i < inputArr.length; i++) {

        if (inputArr[i].indexOf(string) == -1) {
            newStr = newStr + inputArr[i] + ',';
        }
    }

你能展示一些输入和预期输出的例子吗?你能展示一些输入和预期输出的例子吗?我认为这应该是正确的答案,因为只有在这个解决方案中,新的值被设置为textfield。这个代码将输出1:,2:第二个用户。但我需要删除1:,also@user3791078-
var string='1:first user',
这里我不能在变量中使用1:first user这里我的变量字符串只包含用户名,我不能用用户名附加id,例如1:first user,所以字符串变量中不会有精确匹配。我想这应该是正确的答案,因为只有在此解决方案中,新值才设置为textfield。此代码将输出1:,2:第二个用户。但我需要删除1:,also@user3791078-
var string='1:first user',
这里我不能在变量中使用1:first user这里我的变量字符串只包含用户名,我不能用用户名附加id,例如1:first user,因此字符串变量中不会有精确的匹配项。这将留下一个类似
'1:,2:second user'
,但我认为OP需要:
'2:second user'
。这将留下一个字符串,如
'1:,2:second user'
,但我认为OP需要:
'2:second user'