JavaScript相当于String.trim?

时间:2015-02-24 18:10:47

标签: javascript

我在C#编码训练营中,我们正在做一周的JavaScript。这里的问题是,如果给定的字符串以" x"开头或结尾?你省略了那个x。例如:" xHix"成为"嗨"," xHixx"将来" Hix"。我的代码就是这个

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#中试过它并且工作正常,为什么它不能在这里工作?!感谢

3 个答案:

答案 0 :(得分:2)

您需要在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;
}

答案 1 :(得分:1)

你可以尝试

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

答案 2 :(得分:0)

如果代码在行的开头找到x,则返回代码,因此不会替换行末尾的x。首先使用str = str.substr(...

修改字符串变量

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



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

alert(stripX("xHixx"));