文字列の両側にJSメソッドのスペースは削除されません。現在、2つの方法であると考えているこの効果を達成するために、1を決定するために、文字列の両側にループはまた、定期的に一致されているスペースかどうか。
もちろん、我々は例えば、英語だけの空間で、ここでは、英語のスペース、中国のスペース、タブスペース、連続空間の概念を区別するために注意を払う必要があります。
正規の方法:
function trim(str) {
return str.replace(/^\s*/,"");//^符号是开始
return str.replace(/\s*$/,"");//$符号是结束
return str.replace(/(^\s*)|(\s*$)/g,""); //两边
}
サイクルの方法:
function trim(str) {
let startIndex = -1;
for(let i = 0; i < str.length; i++) {
if(str.charAt(i) !== ' ') {
startIndex = i;
break;
}
}
if(startIndex === -1) { //全空格
return '';
}
let endIndex = str.length - 1;
for(let i = endIndex; i >= 0; i--) {
if(str.charAt(i) !== ' ') {
endIndex = i;
break;
}
}
return str.slice(startIndex, endIndex);
}