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

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

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


当前回答

var s = "0test";
if(s.substr(0,1) == "0") {
    s = s.substr(1);
}

0: http://jsfiddle.net/An4MY/

String.prototype.ltrim0 = function() {
 return this.replace(/^[0]+/,"");
}
var s = "0000test".ltrim0();

其他回答

你可以使用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);
}

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

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

结果:hattak01

const string = '0My string'; Const result = string.substring(1); console.log(结果);

你可以使用substring() javascript函数。

String.prototype.trimStartWhile =函数(谓词){ If (typeof predicate !== "function") { 返回; } 让len = this.length; If (len == 0) { 返回; } 设s =这个,I = 0; While (i < len && predicate(s[i])) { 我+ +; } 返回s.substr(我) } 让str = "0000000000ABC", r = str.trimStartWhile(c => c === '0'); console.log (r);

来自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,'');
 }
}