我想删除字符串的第一个字符,如果第一个字符是0。0可以出现不止一次。

是否有一个简单的函数可以检查第一个字符并在它为0时删除它?

现在,我正在尝试使用JS slice()函数,但这是非常尴尬的。


当前回答

这里有一个不假设输入是字符串,使用子字符串,并附带了几个单元测试:

var cutOutZero = function(value) {
    if (value.length && value.length > 0 && value[0] === '0') {
        return value.substring(1);
    }

    return value;
};

http://jsfiddle.net/TRU66/1/

其他回答

你可以使用substring删除字符串的第一个字符:

var s1 = "foobar";
var s2 = s1.substring(1);
alert(s2); // shows "oobar"

删除字符串开头的所有0:

var s = "0000test";
while(s.charAt(0) === '0')
{
 s = s.substring(1);
}

另一种方法是在删除后获取第一个字符:

// Example string
let string = 'Example';

// Getting the first character and updtated string
[character, string] = [string[0], string.substr(1)];

console.log(character);
// 'E'

console.log(string);
// 'xample'

var test = '0test';
test = test.replace(/0(.*)/, '$1');

去掉前导0最简单的方法是:

var s = "00test";
s = s.replace(/^0+/, "");

如果只是剥离一个前导0字符,正如问题所暗示的那样,您可以使用

s = s.replace(/^0/, "");
//---- remove first and last char of str    
str = str.substring(1,((keyw.length)-1));

//---- remove only first char    
str = str.substring(1,(keyw.length));

//---- remove only last char    
str = str.substring(0,(keyw.length));