Javascript 如何在jquery中使用li的id从字符串中删除特定的子字符串

Javascript 如何在jquery中使用li的id从字符串中删除特定的子字符串,javascript,jquery,Javascript,Jquery,我有绳子 0=>zxz##5=>zxzx##5=>zxz##10=>zxz##1=>asdasd#12=>asdsad##10=>asdsad 其中0,5,10是ID,文本是值,##是分隔符 我有id,我想删除id的值 这是我下面的代码,请检查并建议 代码1 代码2 我尝试了这两种代码,但都不起作用误读了问题,对不起 要替换该字符串中的每个键=>值对,可以使用正则表达式: var string = "0=>zxz##5=>zxzx##5=>zxz##10=>zxz##1=

我有绳子

0=>zxz##5=>zxzx##5=>zxz##10=>zxz##1=>asdasd#12=>asdsad##10=>asdsad 其中0,5,10是ID,文本是值,##是分隔符

我有id,我想删除id的值

这是我下面的代码,请检查并建议

代码1

代码2


我尝试了这两种代码,但都不起作用

误读了问题,对不起

要替换该字符串中的每个键=>值对,可以使用正则表达式:

var string = "0=>zxz##5=>zxzx##5=>zxz##10=>zxz##1=>asdasd##12=>asdsad##10=>asdsad";

function remove_feature(id) {
  var x = new RegExp("" + id + "\=>[a-z0-9]+(##)?", "gi")

  return string.replace(x, "");
}
因此,
remove#u功能(5)
打印
“0=>zxz#10=>zxz#1=>asdasd#12=>asdsad#10=>asdsad”


如果id参数是一个存在于您提供的字符串中的键,并且应该返回相应的名称,那么您可以使用JSON.parse函数假装解析url。因此,您可以将分隔符替换为
&
s,将
=>
替换为
=
s:

var string = "foo=>bar##john=>doe";

function remove_feature(id) {
  // id should be something left hand side the =>, like 0 or 1
  var _string = string.replace('##', '&').replace('=>', '='),
    obj = JSON.parse('{"' + decodeURI(_string).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}'),
    _id = obj["" + id];

  $('#' + _id).remove();
}

用法:
remove_功能(“foo”)
将删除id为
#bar的元素

使用jquery尝试此功能: 也可以删除相同的多个ID

var k=“0=>zxz###5=>zxzx##5=>zxz##10=>zxz##1=>asdasd##12=>asdsad###10=>asdsad”;
var obj=k.split(“##”);
var removeItem=5;
警报('删除元素之前的数组='+obj)
obj=jQuery.grep(obj,函数(值){
返回值。拆分('=>')[0]!=removeItem;
});
警报(“删除元素后的数组=”+obj)

请给我们展示一个所需输出的示例。我之所以对这一点投了赞成票,是因为你自己已经展示了一个很好的尝试,但你应该清楚你想要发生什么。如果我通过id=5,那么字符串应该是这样的0=>zxz##5=>zxx#10=>zxz#1=>asdasd#12=>asdsad##10=>asdsad你在你的示例中多次使用同一个id(
5
)。这是错误还是目的?如果是后者,您是说要删除具有该ID的第一项吗?抱歉,这是一个拼写错误。我只是将字符串5和10复制并粘贴到JSON数据第1行第4列的对象中的属性名称之后,它的给定语法error=SyntaxError:JSON.parse:expected':'
var string = "0=>zxz##5=>zxzx##5=>zxz##10=>zxz##1=>asdasd##12=>asdsad##10=>asdsad";

function remove_feature(id) {
  var x = new RegExp("" + id + "\=>[a-z0-9]+(##)?", "gi")

  return string.replace(x, "");
}
var string = "foo=>bar##john=>doe";

function remove_feature(id) {
  // id should be something left hand side the =>, like 0 or 1
  var _string = string.replace('##', '&').replace('=>', '='),
    obj = JSON.parse('{"' + decodeURI(_string).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}'),
    _id = obj["" + id];

  $('#' + _id).remove();
}