我正在尝试从一个字符串中替换/删除多个字符。从Sharepoint,我可以看到多个值,但是我无法使用sharepointPlus脚本从列表中删除这些ID信息。因此,我稍后尝试使用jquery进行替换。
我从清单中得到的是以下内容:


4; #Galaxy S6;#
5; #Galaxy S6 edge;#
15; #Galaxy S6 edge +;#
1; #iPhone 6;#13; #iPhone 6 Plus;#2; #iPhone 6s;#14; #iPhone 6s Plus


要删除的结构:设备名称后的; #number和;#。

正如我所看到的结构不同,主要条目具有ID; #Name;#
最后一个公正ID; #Name

我当前使用的脚本部分是:

$("td.affectedDevices:contains(';#')").each(function() {
    $(this).html(function(index, text) {
        return text.replace('0', '')
                   .replace('1', '')
                   .replace('2', '')
                   .replace('3', '')
                   .replace('4', '')
                   .replace('5', '')
                   .replace('6', '')
                   .replace('7', '')
                   .replace('8', '')
                   .replace('9', '')
                   .replace(';#', '');
    });
});


我在另一个地方使用此代码,在这个地方我只从表中取出一个条目,然后它起作用了。

问题是,上面的JS接受每个字符串的第一个“ Number;#”条目...以及设备的编号,如下面的屏幕快照所示:

javascript - 替换文字中的数字-LMLPHP

应该是Galaxy S6 <br /> Galaxy S6 edge等...

我已经在这里找到一些类似的问题和答案,但是解决方案根本不起作用...

Replacing Wildcard Text
解决方案看起来不错,但

$("td.affectedDevices:contains(';#')").each(function() {
    $(this).html(function(index, text) {
        return text.replace(/\([0-9]\);#/, '');
    });
});


没有任何作用...
有人可以帮助我解决这个问题吗?还是做一个更好的主意?

Fiddle

谢谢你的帮助
亲切的问候

最佳答案

$("td").each(function() {
    $(this).html(function(index, text) {
        return text.replace(/[0-9]?;#/g, '').replace(/^[0-9]/g, '');
    });
});


希望这对您有帮助。

这是工作的小提琴:https://jsfiddle.net/1u6brd3m/

09-25 22:24