JavaScript's equivalent of String.trim?

JavaScript's equivalent of String.trim?

本文关键字:of String trim equivalent JavaScript      更新时间:2024-04-20

我在C#编码训练营,我们正在做一周的JavaScript。这里的问题是,如果给定的字符串以"x"开头或结尾,则省略x。例如:"xHix"变为"Hi","xHixx"将变为"希克"。我的代码是这个

function stripX(str){
    if (str.substr(0,1) === "x")
        return str.substr(1,str.length);
    if (str.substr(str.length-1,1) === "x")
        return str.substr(0,str.length-1);
    return str;
}

我在C#中尝试过,效果很好,为什么它在这里不起作用?!感谢

return使用它之前,您需要修改这两种情况的字符串:

function stripX(str){
    if (str.substr(0,1) === "x")
        str = str.substr(1,str.length);
    if (str.substr(str.length-1,1) === "x")
        str = str.substr(0,str.length-1);
    return str;
}

您可以尝试

function stripX(str){
    return str.substring(
        str[0] == 'x',
        str.length - (str[str.length-1] == 'x')
    );
}

如果代码在行首找到x,则返回,因此不会替换行尾的x。首先使用str = str.substr(... 修改字符串变量

另一种选择:正则表达式可以用于匹配字符串(^)的开头或字符串($)的结尾,从而可以在一行中完成。

function stripX(str) {
  return str.replace(/^x/, "").replace(/x$/, "");
}
alert(stripX("xHixx"));