1

我正在尝试从字符串中删除所有尾随空格和句点,以便如果我采用以下任一示例:

var string = "  ..  bob is a string .";

或者

var string = " .  bob is a string . ..";

他们最终会成为:

"bob is a string"

我知道蹲着,但我在这里regex找到了一个删除尾随空格的功能:

str.replace(/^\s+|\s+$/g, "");

我尝试修改以包含句点,但它仍然只删除尾随空格字符:

str.replace(/^[\s+\.]|[\s+\.]$/g, "");

谁能告诉我这是如何完成的,或许可以解释一下我习惯使用的正则表达式吗?

4

2 回答 2

4

您的正则表达式几乎是正确的,您只需将量词 ( +) 放在字符类 ( []) 之外:

var str = " .  bob is a string . ..";
str.replace(/^[.\s]+|[.\s]+$/g, "");
//"bob is a string"
于 2012-09-07T11:35:02.007 回答
0

尝试这个:

var str = " .  bob is a string . ..";
var stripped = str.replace(/^[\s.]+|[\s.]+$/g,"");

在字符类 ([]) 中,.不需要转义。这将删除任何前导或尾随空格和句点。

于 2012-09-07T11:37:50.600 回答