Javascript 删除字符串两端的空白
这将删除字符串右侧的空白,但我正试图让它同时删除字符串左侧和右侧的空白。我不允许在这个特殊的练习中使用任何内置函数 您可以使用此功能Javascript 删除字符串两端的空白,javascript,function,Javascript,Function,这将删除字符串右侧的空白,但我正试图让它同时删除字符串左侧和右侧的空白。我不允许在这个特殊的练习中使用任何内置函数 您可以使用此功能 function lefttrim(str) { function NotWhitespace(ch) { return ch != '\n' && ch != '\t' && ch != '\r' && ch != ' ' && ch != ''; }
function lefttrim(str)
{
function NotWhitespace(ch)
{
return ch != '\n' && ch != '\t' && ch != '\r' && ch != ' ' && ch != '';
}
var stopAt = str.length;
for (;stopAt >= 0; --stopAt)
if (NotWhitespace(str.charAt(stopAt)))
break;
var output = '';
for (var i = 0; i >= stopAt; i++)
output += str.charAt(i);
return output;
}
那么,您是否会在stopAt开始第二个循环并连接字符,直到用完字符?您可能需要另一个循环来查找最后一个非空白字符;i>=停车;我++你可能是说不允许我使用任何内置函数。-那你最好把str.charAti改成str[i]@没有内置函数你怎么使用正则表达式?对我来说,内置函数是,但OP可以说明这一点。
function cust_trim(str){
String.prototype.IsWhiteSpace = function(){
return this == '\n' || this == '\t' || this == '\r' || this == ' ' || this == '';
}
var i = 0;
var j = str.length - 1;
while(str.charAt(i).IsWhiteSpace() && i <= j) i++;
if(i > j) return ""; // all white spaces
while(str.charAt(j).IsWhiteSpace() && j >= 0) j--;
var output = '';
while( i <= j)
output += str.charAt(i++);
return output;
}