22

私は次のような文字列を持っています

var str=" , this,  is a ,,, test string , , to find regex,,in js.  , ";

コンマを含む文字列の先頭、中間、末尾に複数のスペースがあります。この文字列が必要です

var str="this is a test string to find regex in js.";

フォーラムでスペース、コンマを別々に削除する多くの正規表現を見つけましたが、それらを結合して両方を削除することはできませんでした。

可能であれば正規表現構文の説明をお願いします。

前もって感謝します

4

4 に答える 4

40

すべてのスペースとカンマをスペースに置き換えてから、末尾のスペースを削除できます。

var str=" , this,  is a ,,, test string , , to find regex,,in js.  , ";
res = str.replace(/[, ]+/g, " ").trim();

jsfiddle デモ

于 2013-10-08T11:02:02.423 に答える
5

これには正規表現を使用できます

/[,\s]+|[,\s]+/g

var str= "your string here";
//this will be new string after replace
str = str.replace(/[,\s]+|[,\s]+/g, 'your string here');

正規表現の説明とデモ

于 2013-10-08T11:02:36.190 に答える
4

次のようなことを試してください:

var new_string = old_string.replace(/[, ]+/g,' ').trim();

正規表現は、[, ]+これを分解する場合、任意の\s空白文字を意味し,、リテラルのコンマです。は[]文字セット (配列と考えてください) であり、+は 1 つ以上の一致を意味します。

グローバルな検索と置換を行うように最後に を投げ/gます。

于 2013-10-08T11:01:25.510 に答える