javascript - 如何通过比较 Jquery 或 Javascript 中的两个字符串来删除字符串的重复部分

标签 javascript jquery

$str1='<option value="AAA">AAA</option><option value="BBB">BBB</option><option value="CCC">CCC</option>';

$str2='<option value="CCC">CCC</option><option value="DDD">DDD</option>';

我想要如下的预期结果。如果$str2的某些部分与$str1的部分重复,则删除$str2的重复部分。

预期结果:

$expectedStr = '<option value="DDD">DDD</option>';

有人可以帮助我吗?

最佳答案

var str1='<option value="AAA">AAA</option><option value="BBB">BBB</option><option value="CCC">CCC</option>',
    str2='<option value="CCC">CCC</option><option value="DDD">DDD</option>',

    result = str2.replace(/<option .+?<\/option>/g, function(m) {
        return (str1.indexOf(m) > -1)? "" : m;
    });

console.log(result); //returns <option value="DDD">DDD</option>

(这里我假设您想检查“原子”子字符串 <option>...</option> )

fiddle 示例:http://jsfiddle.net/jAyAE/

关于javascript - 如何通过比较 Jquery 或 Javascript 中的两个字符串来删除字符串的重复部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10717399/

相关文章:

javascript - 我要删除的 HTML 空白

javascript - Ajax POST 到另一台服务器 - 克服跨域限制

jquery - 显示相同内容的两个下拉菜单

javascript - jQuery .click 和 .html 不工作

javascript - d3 : graph looks good in firefox but is cut off in chrome

javascript - 恶意javascript注入(inject)登录页面

javascript - 如何在 Angular2 中使用不同的样式表 js 文件网站和登录仪表板后

javascript - React JS onClick 事件处理程序

javascript - jQuery 中的 .bind ('click' ) 和 .click() 有什么区别?

php - 使用 $.post() 将值发送到 PHP 并使用 $.getJSON 返回