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

时间:2012-07-03 07:04:03

标签: javascript regex

我有一个这样的字符串:

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

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

str.split(0,1);

但如果字符串中的最后一个字符后面没有空格,则会删除字符串的最后一个字符。

我想用

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

我是RegEx的初学者,感谢任何帮助。

非常感谢。

6 个答案:

答案 0 :(得分:16)

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

这是一个简单的:

trimmedstr = str.replace(/\s+$/, '');

答案 1 :(得分:6)

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

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

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

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

\s不仅意味着空间,还意味着类似空间的角色;例如tab。

如果您使用jQuery,您还可以使用trim功能:

str = $.trim(str);

但是trim不仅会在字符串的末尾删除空格,也会删除空格。

答案 2 :(得分: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();

详情请见Trim string in JavaScript?和兼容性list

答案 3 :(得分:3)

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

.replace(/ $/, "");

删除所有尾随空格:

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

$匹配正常模式下的输入结束(它与多线模式中的行尾相匹配)。

答案 4 :(得分:1)

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

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

Regex Reference Sheet

答案 5 :(得分:0)

工作示例:

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

   alert(str.length+" "+ ans.length);