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

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

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


当前回答

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

其他回答

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();

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);

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

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

结果:hattak01

你可以用substring方法:

let a = "My test string";

a = a.substring(1);

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

你试过子字符串函数吗?

string = string.indexOf(0) == '0' ? string.substring(1) : string;

这里有一个参考- https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/substring

对于多个0,你总是可以这样做:

while(string.indexOf(0) == '0')
{
    string = string.substring(1);
}