0

さて、私はすべての空白をコンマに置き換えるために正規表現を使用していますが、最後に空白があり、正規表現が彼を置き換えないようにする方法がわかりません

私が持っているもの

25DEL 38DEL A73G

JS

 var valor = $("#mapaArquivos option:selected").val().replace(/\s+/g, ", ");

出力

25DEL, 38DEL, A73G,

右出力

25DEL, 38DEL, A73G

とにかく助けてくれてありがとう!

4

3 に答える 3

7

正規表現を適用する前に値をトリミングします。このように、末尾または先頭のスペースはありません

var valor = jQuery.trim($("#mapaArquivos option:selected").val())
                  .replace(/\s+/g, ", ");
于 2013-02-09T04:47:54.420 に答える
1

端をトリミングするか、使用することができます

replace( /(?!\s+$)\s+/g, ", " );

負の先読みは、末尾のスペースが置き換えられるのを防ぎます。

于 2013-02-09T15:07:58.403 に答える
0

これでうまくいくはずです(最初に初期値の空白を削除します)

var valor = $("#mapaArquivos option:selected").val().replace(/^\s+|\s+$/g,"").replace(/\s+/g, ", ");

そうでない場合は、replace(/\s+$/,"")代わりに試してみてください(最後にのみトリミングします)

于 2013-02-09T04:50:32.057 に答える