我想删除字符串的第一个字符,如果第一个字符是0。0可以出现不止一次。
是否有一个简单的函数可以检查第一个字符并在它为0时删除它?
现在,我正在尝试使用JS slice()函数,但这是非常尴尬的。
我想删除字符串的第一个字符,如果第一个字符是0。0可以出现不止一次。
是否有一个简单的函数可以检查第一个字符并在它为0时删除它?
现在,我正在尝试使用JS slice()函数,但这是非常尴尬的。
你试过子字符串函数吗?
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);
}
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();
使用. 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 );
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);
你可以使用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);
}
这里有一个不假设输入是字符串,使用子字符串,并附带了几个单元测试:
var cutOutZero = function(value) {
if (value.length && value.length > 0 && value[0] === '0') {
return value.substring(1);
}
return value;
};
http://jsfiddle.net/TRU66/1/
去掉前导0最简单的方法是:
var s = "00test";
s = s.replace(/^0+/, "");
如果只是剥离一个前导0字符,正如问题所暗示的那样,您可以使用
s = s.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,'');
}
}
//---- 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));
非常易读的代码是使用.substring(),开始设置为第二个字符的索引(1)(第一个字符的索引为0)。substring()方法的第二个参数实际上是可选的,所以你甚至不需要调用.length()…
从字符串中删除第一个字符:
str = str.substring(1);
...是的,就是这么简单……
删除一些特定的字符:
正如@ shade所建议的,当字符串的第一个字符是“不需要的”字符时,就循环这个…
var yourString = "0000test";
var unwantedCharacter = "0";
//there is really no need for === check, since we use String's charAt()
while( yourString.charAt(0) == unwantedCharacter ) yourString = yourString.substring(1);
//yourString now contains "test"
.slice() vs .substring() vs .substr()
EDIT: substr()不是标准化的,不应该用于新的JS代码,你可能倾向于使用它,因为它与其他语言的命名相似,例如PHP,但即使在PHP中,你也应该使用mb_substr()在现代世界中是安全的:)
引用自(和更多关于)什么是字符串之间的区别。slice和String.substring?
他还指出,如果切片的参数是负的,他们 从末尾引用字符串。Substring和substr没有。
你可以用substring方法:
let a = "My test string";
a = a.substring(1);
console.log(a); // y test string
try
s.replace(/^0/,'')
console.log(“0 = > "字符串,字符串“0”.replace (/ ^ 0 / ")); console.log(“00字符串= >”,“00字符串“.replace (/ ^ 0 / ")); console.log(“string00 = >”,“string00”.replace (/ ^ 0 / "));
另一种方法是在删除后获取第一个字符:
// 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'
一个简单的解决方案是使用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函数。