LuckyWinty / fe-weekly-questions

A pro to record some interview questions every week...
MIT License
341 stars 34 forks source link

请用 js 去除字符串空格? #87

Open LuckyWinty opened 2 years ago

LuckyWinty commented 2 years ago

方法一:使用 replace 正则匹配的方法

去除所有空格: str = str.replace (/s*/g,"");

去除两头空格: str = str.replace (/^s|s$/g,"");

去除左空格: str = str.replace (/^s*/, “”);

去除右空格: str = str.replace (/(s*$)/g, "");

str 为要去除空格的字符串,实例如下:

var str = " 23 23 ";
var str2 = str.replace(/s*/g,"");
console.log(str2); // 2323

方法二:使用 str.trim () 方法

str.trim () 局限性:无法去除中间的空格,实例如下:

var str = " xiao ming ";
var str2 = str.trim();
console.log(str2); //xiao ming

同理,str.trimLeft (),str.trimRight () 分别用于去除字符串左右空格。

方法三:使用 jquery,$.trim (str) 方法

$.trim (str) 局限性:无法去除中间的空格,实例如下:

var str = " xiao ming ";
var str2 = $.trim(str)
console.log(str2); // xiao ming
Jiacheng787 commented 2 years ago

总结一下其实就是两种路线:

1. 基于正则表达式

通过正则匹配去掉空格,trim 方法底层也是通过正则实现的:

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

2. 基于数组

JS 的字符串是可迭代对象,可以转为数组:

[...s].filter(item => item !== ' ').join("");