我想删除字符串的第一个字符,如果第一个字符是0。0可以出现不止一次。
是否有一个简单的函数可以检查第一个字符并在它为0时删除它?
现在,我正在尝试使用JS slice()函数,但这是非常尴尬的。
我想删除字符串的第一个字符,如果第一个字符是0。0可以出现不止一次。
是否有一个简单的函数可以检查第一个字符并在它为0时删除它?
现在,我正在尝试使用JS slice()函数,但这是非常尴尬的。
当前回答
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);
其他回答
去掉前导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));
另一种方法是在删除后获取第一个字符:
// 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'
使用. 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 );
来自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,'');
}
}