如果它不是我们想要的,删除子字符串?

时间:2018-06-18 14:01:39

标签: javascript jquery

我有一个需要查找的子字符串,如果它不是我们想要的,则必须将其删除。

与查找子字符串并删除它有点不同,因为子字符串是动态的。因为我可以很容易地做到这样的事情:

var updatedString = originalString.replace("Joined-44", "");

示例:

我有一个像这样的字符串。这是DIV元素的内容:

Hello world, Are you OK? Blah blah bla Joined-1 Joined-44 Some more texts goes here... Joined-2 Joined-5...

现在我需要保留所有内容,但除了Joined-1&之外,删除每个Joined-x个字。加入-2。

有人可以就此提出建议吗?

1 个答案:

答案 0 :(得分:2)

您可以保留12,同时替换所有其他人。

需要正则表达式

/joined-(\d+)/gi

它可以精确地查找字符串joined-以及一个或多个数字的组。对于全局,标记为g,这意味着搜索多次,i表示不区分大小写。

替换函数检查数字是否等于1或2,然后返回整个找到的模式,如果不是,则返回空字符串。



var string = 'Hello world, Are you OK? Blah blah bla Joined-1 Joined-44 Some more texts goes here... Joined-2 Joined-5...'

console.log(string.replace(/joined-(\d+)/gi, (p, d) => d == 1 || d == 2 ? p : ''));