我想删除字符串的第一个字符,如果第一个字符是 0。0 可以多次出现。
是否有一个简单的函数可以检查第一个字符并在它为 0 时将其删除?
现在,我正在尝试使用 JSslice()
功能,但它非常尴尬。
我想删除字符串的第一个字符,如果第一个字符是 0。0 可以多次出现。
是否有一个简单的函数可以检查第一个字符并在它为 0 时将其删除?
现在,我正在尝试使用 JSslice()
功能,但它非常尴尬。
您可以使用以下方法删除字符串的第一个字符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);
}
非常易读的代码是将.substring()
开始设置为第二个字符 (1) 的索引(第一个字符的索引为 0)。该.substring()
方法的第二个参数实际上是可选的,因此您甚至不需要调用.length()
...
str = str.substring(1);
……是的,就是这么简单……
正如@Shaded 所建议的,只要循环这个,而你的字符串的第一个字符是“不需要的”字符......
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()
对比.substring()
对比.substr()
编辑: substr()不是标准化的,不应该用于新的 JS 代码,您可能倾向于使用它,因为它与其他语言(例如 PHP)的命名相似,但即使在 PHP 中,您也应该使用mb_substr()
它在现代世界中是安全的:)
引用自(以及更多内容)String.slice 和 String.substring 之间的区别是什么?
他还指出,如果切片的参数为负数,则它们从末尾引用字符串。Substring 和 substr 没有。
示例: http : //jsfiddle.net/kCpNQ/
var myString = "0String";
if( myString.charAt( 0 ) === '0' )
myString = myString.slice( 1 );
如果0
开头可能有多个字符,则可以将 the 更改if()
为 a while()
。
示例: http : //jsfiddle.net/kCpNQ/1/
var myString = "0000String";
while( myString.charAt( 0 ) === '0' )
myString = myString.slice( 1 );
去除所有前导0
s的最简单方法是:
var s = "00test";
s = s.replace(/^0+/, "");
如果只是剥离单个前导0
字符,正如问题所暗示的那样,您可以使用
s = s.replace(/^0/, "");
您可以使用substring方法来做到这一点:
let a = "My test string";
a = a.substring(1);
console.log(a); // y test string