0

我真的不知道我应该怎么做。我从数据库逗号中得到 2 个字符串,分隔如下

string1 = "DD,CC,FF"
string2 = "DD,XX,FF"

我将 string1 绑定到 html 表。

你可以看到 2 个字符串是不同的。我想要做的是在字符串 1 中找到 string2,然后仅突出显示字符串的更改部分。

所以我的输出将是 string1 = DD, CC ,FF

所以我的表格将显示整个字符串,但会突出显示表格中的值“CC”。

我该怎么办?我愿意使用 jquery 或 javascript。

4

2 回答 2

3

比较每个逗号分隔的值,如果它们不相同,则用某种标签包装:

function checkStrings(str1, str2) {
    str1 = Array.isArray(str1) ? str1 : str1.split(',');
    str2 = Array.isArray(str2) ? str2 : str2.split(',');

    for (var i=0; i<str1.length; i++) {
        if (str1[i] !== str2[i]) 
            str1[i] = '<b>' + str1[i] + '</b>';
    }
    return str1.join('');
}

小提琴

或者如果顺序无关紧要:

function checkStrings(str1, str2) {
    str1 = Array.isArray(str1) ? str1 : str1.split(',');

    for (var i=0; i<str1.length; i++) {
        if (str2.indexOf(str1[i]) == -1) {
            str1[i] = '<b>' + str1[i] + '</b>';
        }
    }
    return str1.join('');
}

小提琴

于 2013-07-24T07:59:28.800 回答
0

用 "," 分割两个字符串,然后运行一个嵌套循环来检查 string1 中的每个条目是否在 string2 中可用。循环时,您可以将 string1 中的每个条目添加到对象中,并根据可用性将其标记为 true 或 false。然后使用您喜欢的格式打印出对象中的内容。

于 2013-07-24T07:53:59.800 回答