var s = "Hello! I'm billy! what's up?";
var result = s.split(" ").join();
console.log(result);

得到了这个结果
Hello!,I'm,,billy!,what's,,,,up?
我怎样才能摆脱字符串之间这个恼人的额外空格?所以它可能看起来像这样。
Hello!,I'm,billy!,what's,up?
答案 0 :(得分:1)
使用正则表达式查找整个字符串中的所有空格并使用单个空格重新加入:
var s = "Hello! I'm billy! what's up?";
var result = s.split(/\s+/).join(" ");
console.log(result);

您也可以在不使用.split()
返回新数组的情况下执行此操作,只需使用String.replace()
方法即可。在这种情况下,正则表达式稍有变化:
var s = "Hello! I'm billy! what's up?";
var result = s.replace(/ +/g, " ");
console.log(result);

答案 1 :(得分:1)
您需要replace
和\s+
\s+
匹配多个空格字符,包括空格,制表符, 换页,换行。
trim
删除字符串开头和结尾的额外空格
var s = " Hello! I'm billy! what's up? ";
console.log(s.replace(/\s+/g, " ").trim());

答案 2 :(得分:0)
var s = "Hello! I'm billy! what's up?";
var result = s.replace(/\s+/g,' ').trim();
console.log(result);

答案 3 :(得分:0)
replace()方法通过替换返回一个新字符串,其中包含模式replaced
的部分或全部匹配项。模式可以是字符串或RegExp
,替换可以是字符串或要为每个匹配调用的函数。
var str = "Hello! I'm billy! what's up?";
str = str.replace(/ +/g, " ");
console.log(str);
var strr = "Hello! I'm billy! what's up?";
strr = strr.replace(/ +/g, " ");
console.log(strr);