Javascript和正则表达式:删除字符串中最后一个单词后的空格

Mil*_*loš 7 javascript regex

我有一个这样的字符串:

var str = 'aaaaaa, bbbbbb, ccccc, ddddddd, eeeeee ';
Run Code Online (Sandbox Code Playgroud)

[space]是一个真实的空间,而不是一个字符串,但我不知道如何展示它.

我的目标是删除字符串中的最后一个空格.我可以用

str.split(0,1);
Run Code Online (Sandbox Code Playgroud)

但是如果最后一个字符串后面没有空格,这将减少字符串的最后一个字符.

我想用

str.replace("regex",'');
Run Code Online (Sandbox Code Playgroud)

如果你能帮助我,我是正则表达式的初学者.

非常感谢你.

Fra*_*ila 18

谷歌搜索"javascript修剪",你会发现许多不同的解决方案.

这是一个简单的:

trimmedstr = str.replace(/\s+$/, '');
Run Code Online (Sandbox Code Playgroud)

  • 如果需要删除多个空格 `str = str.replace(/\s*$/,"");` /sf/answers/1255674451/ (2认同)

Igo*_*bin 6

当您需要删除所有空格时:

str.replace(/\s*$/,'');
Run Code Online (Sandbox Code Playgroud)

当您需要最后删除一个空格时:

str.replace(/\s?$/,'');
Run Code Online (Sandbox Code Playgroud)

\s不仅表示空格,还表示类似空格的字符;例如标签。

如果使用jQuery,则还可以使用该trim函数:

str = $.trim(str);
Run Code Online (Sandbox Code Playgroud)

但是,trim不仅要在字符串的末尾删除空格,还要在开头删除空格。


Shi*_*dim 5

似乎您需要一个trimRight功能。直到Javascript 1.8.1才可用。在此之前,您可以使用原型技术。

 String.prototype.trimRight=function(){return this.replace(/\s+$/,'');}
 // Now call it on any string.
 var a = "a string ";
 a = a.trimRight();
Run Code Online (Sandbox Code Playgroud)

进一步了解JavaScript中的修剪字符串?和兼容性列表