2016-11-16 25 views
0

正規表現が正しく機能するようにするにはいくつかの課題があります。Regexが正しく動作しない

基本的に、これを文字列の「TABLE COUNT#」に置き換える必要があります。 #は0〜9の数字です。

はここに私のコードです:

$("#tbl").each(function() { 
    var x = $(this).text(); 
    var y = x.replace(":TABLE COUNT " + /[0-9]/, ""); 
    $(this).html(y); 
}) 

がここにある私のjsFiddle

答えて

3

代わり.replace()方法stringの最初のパラメータとしてregexpを使用してみてください。ところで

Replace() documentation

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>

/:TABLE COUNT \d/意味:

は、数字、文字\d

\dが続くこの文字列:TABLE COUNTが含まれています:基本的なラテンアルファベットの数字の文字と一致します。 [0-9]と同じです。

RegExp documentation

+0

はずっと – sm1l3y

1

クラスへのidのからのスイッチは、このような何か:

$(".tbl").each(function() { 
    var x = $(this).text(); 
    var y = '":TABLE COUNT " + /[0-9]/, ""'; 
    $(this).html(y); 
}); 
+0

IDを感謝、ありがとう文字通りCLASSにIDから変更することはないが、高速です良い答えでもありません。 – sm1l3y

+0

ok、あなたの各機能は、最初の要素が見つかったら停止します。 –

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace –

関連する問題