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 回答