我在使正则表达式正常工作方面遇到了一些挑战。
基本上我需要从字符串中替换“:TABLE COUNT#”。 #是0-9之间的数字。
这是我的代码:
$("#tbl").each(function() {
var x = $(this).text();
var y = x.replace(":TABLE COUNT " + /[0-9]/, "");
$(this).html(y);
})
这是我的jsFiddle
答案 0 :(得分:3)
尝试使用regexp
作为.replace()
方法的第一个参数,而不是string
。
顺便说一句,id
属性应该是唯一的。我将id
属性替换为class
。
$(".tbl").each(function() {
var x = $(this).text();
var y = x.replace(/:TABLE COUNT \d/, "");
$(this).html(y);
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="tbl">
TABLE:TABLE COUNT 3
</p>
<p class="tbl">
4-WAY
</p>
<p class="tbl">
TABLE:TABLE COUNT 5
</p>
<p class="tbl">
TABLE:TABLE COUNT 9
</p>
<p class="tbl">
4-WAY
</p>
&#13;
/:TABLE COUNT \d/
表示:
包含此字符串:TABLE COUNT
,后跟数字字符\d
\d
:匹配基本拉丁字母中的数字字符。相当于[0-9]。
答案 1 :(得分:1)
从id切换到类,然后执行以下操作:
$(".tbl").each(function () {
var x = $(this).text();
var y = '":TABLE COUNT " + /[0-9]/, ""';
$(this).html(y);
});