我有以下格式的文本变量 -
value1|34|value2|45|value3|67|value4|687|
现在我只有文本“ value3
”,我必须从上面的字符串中删除该值及其关联的数字。删除它后,我必须得到 -
value1|34|value2|45|value4|687|
注意:管道中的数字以其值字符串为前缀。前 - 值|56|。因此,如果我必须删除一个值,我必须将其连同其编号一起删除。
我有以下格式的文本变量 -
value1|34|value2|45|value3|67|value4|687|
现在我只有文本“ value3
”,我必须从上面的字符串中删除该值及其关联的数字。删除它后,我必须得到 -
value1|34|value2|45|value4|687|
注意:管道中的数字以其值字符串为前缀。前 - 值|56|。因此,如果我必须删除一个值,我必须将其连同其编号一起删除。
看起来您可以从使用 JSON 之类的存储格式中受益。
'value1|34|value2|45|value3|67|value4|687|'.replace(/value3\|\d+\|/,'')
var input = 'value1|34|value2|45|value3|67|value4|687|',
remove = 'value3',
result = input.replace(RegExp(remove + '\\|\\d+\\|'), '');
console.log(result); // 'value1|34|value2|45|value4|687|'
你可以
var s = "value1|34|value2|45|value3|0000|value4|687|";
var r = "value3";
s = s.replace(new RegExp("(?:^|\\|)" + r + "\\|\\d+"), "")
包括 start-guard(不匹配 xxxvalue3)