首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript正则表达式删除空格

问Javascript正则表达式删除空格
EN

Stack Overflow用户
提问于 2011-08-23 01:28:07
回答 6查看 235.9K关注 0票数 102

所以我正在为JQuery编写一个很小的插件来删除字符串中的空格。see here

代码语言:javascript
复制
(function($) {
    $.stripSpaces = function(str) {
        var reg = new RegExp("[ ]+","g");
        return str.replace(reg,"");
    }
})(jQuery);

我的正则表达式当前为[ ]+,用于收集所有空格。这行得通..然而,它并没有在我的嘴里留下好的味道。我还尝试了[\s]+和[\W]+,但都不起作用。

必须有一种更好的(更简洁的)方式来搜索空格。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-08-23 01:34:10

我建议您使用文字表示法和\s字符类:

代码语言:javascript
复制
//..
return str.replace(/\s/g, '');
//..

使用字符类\s和只使用' '是有区别的,这将匹配更多的空白字符,例如'\t\r\n'等。查找' '将只替换ASCII32空白。

当您想要构建一个动态模式时,RegExp构造函数很有用,在这种情况下,您不需要它。

此外,正如您所说,"[\s]+"不能与RegExp构造函数一起使用,这是因为您正在传递一个字符串,您应该对反斜杠进行“双重转义”,否则它们将被解释为字符串中的字符转义(例如:"\s" === "s" (未知转义))。

票数 256
EN

Stack Overflow用户

发布于 2011-08-23 01:31:22

代码语言:javascript
复制
"foo is bar".replace(/ /g, '')
票数 14
EN

Stack Overflow用户

发布于 2019-01-14 00:28:10

生产中的和跨行工作中断

这在几个应用程序中用来清理用户生成的内容,删除额外的空格/回车符等,但保留了空格的含义。

代码语言:javascript
复制
text.replace(/[\n\r\s\t]+/g, ' ')
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7151159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档