문자열의 첫 번째 문자가 0이면 삭제하려고 합니다. 0은 두 번 이상 지정할 수 있습니다.
첫 번째 문자를 확인하고 0이면 삭제하는 간단한 기능이 있나요?
지금 JS 슬라이스() 기능으로 시도해 보고 있는데 너무 어색해요.
['Substr'] 의 첫 번째 문자는 사용하여 문자열으로 제거할 수 있습니다 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr):
var s1 = "foobar";
var s2 = s1.substr(1);
alert(s2); // shows "oobar"
var s = "0000test";
while(s.charAt(0) === '0')
{
s = s.substr(1);
}
'오서브스트링 ()' 를 사용하는 것이 매우 판독값 코드를 설정되었습니다 색인입니다 시작으로 두 번째 문자 (1) (첫 번째 문자 는 인덱스 0). 두번째 방법은 오서브스트링 () '의', '자도 안 연락해야 할 수 있으므로 실제로 옵션임 don& # 39 트렌크스 ()'.
str = str.substring(1);
트리스 결과는 긍정적이었다.
이에 따라 해당 문자열은 " @Shaded 그냥 루프 동안 이 첫 번째 문자는 unwanted"; 문자.
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.substr(1);
//yourString now contains "test"
Quote from (등) 에 있는) https://stackoverflow.com/questions/2243824/what-is-the-difference-between-string-slice-and-string-substring
>. 그는 또한 경우, 그들은 매개 변수를 슬라이스에 제외어 점을 지적하고 있다. >. 문자열을 참조입니다 끝에서. # 180, 문자열, substr doesn& 없다.
예: **
var myString = "0String";
if( myString.charAt( 0 ) === '0' )
myString = myString.slice( 1 );
시작 부분에 '0'자가 여러 개 있을 수 있는 경우 'if()'를 'while()'로 변경할 수 있습니다.
예: **
1/var myString = "0000String";
while( myString.charAt( 0 ) === '0' )
myString = myString.slice( 1 );
[Substring] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/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);
}
//---- 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));
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
String.prototype.trimStartWhile = function(predicate) {
if (typeof predicate !== "function") {
return this;
}
let len = this.length;
if (len === 0) {
return this;
}
let s = this, i = 0;
while (i < len && predicate(s[i])) {
i++;
}
return s.substr(i)
}
let str = "0000000000ABC",
r = str.trimStartWhile(c => c === '0');
console.log(r);
끝 - < 스니핏 >;!
시도하시겠습니까
s.replace(/^0/,'')
<! - begin 스니핏: js 숨기십시오: 진정한 콘솔: 진정한 바벨. > 거짓값 -;
console.log("0string =>", "0string".replace(/^0/,'') );
console.log("00string =>", "00string".replace(/^0/,'') );
console.log("string00 =>", "string00".replace(/^0/,'') );
끝 - < 스니핏 >;!
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,'');
}
}