11

我有一个这样的字符串:

var str = 'aaaaaa, bbbbbb, ccccc, ddddddd, eeeeee ';

我的目标是删除字符串中的最后一个空格。我会用,

str.split(0,1);

但是如果字符串的最后一个字符之后没有空格,这将删除字符串的最后一个字符。

我想用

str.replace("regex",'');

我是 RegEx 的初学者,不胜感激。

非常感谢你。

4

7 回答 7

35

谷歌搜索“javascript trim”,你会发现许多不同的解决方案。

这是一个简单的:

trimmedstr = str.replace(/\s+$/, '');
于 2012-07-03T07:07:12.190 回答
10

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

str.replace(/\s*$/,'');

当您需要在末尾删除一个空格时:

str.replace(/\s?$/,'');

\s不仅表示空格,还表示类似空格的字符;例如选项卡。

如果你使用 jQuery,你也可以使用这个trim函数:

str = $.trim(str);

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

于 2012-07-03T07:06:30.217 回答
6

看来你需要一个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();

在 JavaScript 中查看更多关于修剪字符串的信息?以及兼容性列表

于 2012-07-03T07:10:30.950 回答
3

您可以使用此代码删除单个尾随空格:

.replace(/ $/, "");

要删除所有尾随空格:

.replace(/ +$/, "");

匹配正常模式下的$输入结尾(它匹配多行模式下的行尾)。

于 2012-07-03T07:06:02.307 回答
1

尝试正则表达式( +)$,因为$in 正则表达式匹配字符串的结尾。这将删除字符串末尾的所有空格。

有些程序有一个strip功能可以做同样的事情,我不相信标准的 Javascript 库有这个功能。

正则表达式参考表

于 2012-07-03T07:06:47.447 回答
0

工作示例:

   var str  = "Hello World  ";
   var ans = str.replace(/(^[\s]+|[\s]+$)/g, '');

   alert(str.length+" "+ ans.length);
于 2015-04-28T05:25:38.050 回答
0

快进到2021年,

trimEnd()功能正是为此而生的!

它将删除字符串末尾的所有空格(包括空格、制表符、换行符)。

根据官方文档,每个主流浏览器都支持它。只有 IE 不受支持。(说实话,你不应该关心 IE,因为微软本身已经在 2021 年 8 月放弃了对 IE的支持!)

于 2021-12-20T23:19:28.547 回答