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

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

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


当前回答

你可以用substring方法:

let a = "My test string";

a = a.substring(1);

console.log(a); // y test string

其他回答

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

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

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

s = s.replace(/^0/, "");

使用. charat()和.slice()。

例如:http://jsfiddle.net/kCpNQ/

var myString = "0String";

if( myString.charAt( 0 ) === '0' )
    myString = myString.slice( 1 );

如果开头可以有几个0字符,可以将If()更改为while()。

例如:http://jsfiddle.net/kCpNQ/1/

var myString = "0000String";

while( myString.charAt( 0 ) === '0' )
    myString = myString.slice( 1 );

一个简单的解决方案是使用Javascript slice()方法,并将1作为参数传递

设 str = “khattak01” let resStr = str.slice(1) console.log(resStr)

结果:hattak01

try

s.replace(/^0/,'')

console.log(“0 = > "字符串,字符串“0”.replace (/ ^ 0 / ")); console.log(“00字符串= >”,“00字符串“.replace (/ ^ 0 / ")); console.log(“string00 = >”,“string00”.replace (/ ^ 0 / "));

来自trim() >的Javascript实现,它从字符串中删除空格和开头空格或结尾空格。下面是这个问题答案的修改后的实现。

var str = "0000one two three0000"; //TEST  
str = str.replace(/^\s+|\s+$/g,'0'); //ANSWER

这个在JS上的原始实现

string.trim():
if (!String.prototype.trim) {
 String.prototype.trim = function() {
  return this.replace(/^\s+|\s+$/g,'');
 }
}