我正在尝试从String中替换/删除多个Charactes。从Sharepoint我获取多个值,据我所知,当我从sharepointPlus脚本的列表中获取值时,我无法删除这些ID信息。所以我稍后尝试使用jquery和替换它。 我从列表中得到的是以下内容:
要删除的结构:; #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 Above取第一个"数字;#"每个字符串的输入...和设备的编号,如下面的屏幕截图所示:
应该是Galaxy S6 <br />
Galaxy S6 edge等等......
我发现了一些类似的问题&amp;答案在这里,但解决方案根本不起作用......
Replacing Wildcard Text 解决方案看起来不错但
$("td.affectedDevices:contains(';#')").each(function() {
$(this).html(function(index, text) {
return text.replace(/\([0-9]\);#/, '');
});
});
没有任何影响...... 有人可以帮我解决这个问题吗?或者更好的想法来完成整个事情?
感谢您的帮助 亲切的问候
答案 0 :(得分:1)
将您的代码更改为:
$("td.affectedDevices:contains(';#')").each(function() {
var string = $(this).html(),
split = string.split('#'),
newContent = '',
re = /^[a-zA-Z]+$/;
$.each(split, function( key, value ) {
if(/^[a-zA-Z]/.test(value)) newContent = newContent + value.replace(';', '') + '<br />';
});
$(this).html(newContent);
});
祝你好运!
答案 1 :(得分:1)
$("td").each(function() {
$(this).html(function(index, text) {
return text.replace(/[0-9]?;#/g, '').replace(/^[0-9]/g, '');
});
});
希望这会对你有所帮助。
这是工作小提琴:https://jsfiddle.net/1u6brd3m/