我正在尝试从一个字符串中替换/删除多个字符。从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;#”条目...以及设备的编号,如下面的屏幕快照所示:
应该是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/