为了账号安全,请及时绑定邮箱和手机立即绑定

用JavaScript字符串中的单个空格替换多个空格

用JavaScript字符串中的单个空格替换多个空格

郎朗坤 2019-10-06 14:42:26
我有带多余空格的字符串,每当有多个空格时,我希望它只有一个。任何人?我尝试搜索Google,但没有任何帮助。谢谢
查看完整描述

4 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

像这样:


var s = "  a  b     c  ";


console.log(

  s.replace(/\s+/g, ' ')

)


查看完整回答
反对 回复 2019-10-06
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

您可以扩展String以将这些行为实现为方法,如下所示:


String.prototype.killWhiteSpace = function() {

    return this.replace(/\s/g, '');

};


String.prototype.reduceWhiteSpace = function() {

    return this.replace(/\s+/g, ' ');

};

现在,您可以使用以下优雅的形式来生成所需的字符串:


"Get rid of my whitespaces.".killWhiteSpace();

"Get rid of my extra        whitespaces".reduceWhiteSpace();


查看完整回答
反对 回复 2019-10-06
?
DIEA

TA贡献1820条经验 获得超3个赞

将正则表达式与replace函数配合使用可达到以下目的:


string.replace(/\s/g, "")


查看完整回答
反对 回复 2019-10-06
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

这是一个非正则表达式的解决方案(只是为了好玩):

var s = ' a   b   word word. word, wordword word   ';


// with ES5:

s = s.split(' ').filter(function(n){ return n != '' }).join(' ');

console.log(s); // "a b word word. word, wordword word"


// or ES6:

s = s.split(' ').filter(n => n).join(' '); 

console.log(s); // "a b word word. word, wordword word"

它将字符串按空格分隔,从数组中删除所有空数组项(大于单个空格的项),然后将所有单词再次连接到字符串中,并在它们之间使用单个空格。


查看完整回答
反对 回复 2019-10-06
  • 4 回答
  • 0 关注
  • 1042 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号