Удалить первый символ строки в Javascript

__destruct не будет вызываться:

  • Если exit вызывается в другом деструкторе
  • В зависимости от версии PHP: если exit вызывается в функции выключения, зарегистрированной в register_shutdown_function
  • Если есть некоторая ошибка в коде
  • Если другой деструктор выдает исключение
  • Если вы попытаетесь обрабатывать исключение в деструкторе (PHP> = 5.3.0)

Угадайте, что все, о чем я могу думать прямо сейчас

& amp; Что сказал Паскаль МАРТИН. Это первый шаг отладки.

375
задан Ry- 7 August 2013 в 17:23
поделиться

13 ответов

var s = "0000test";
while(s.charAt(0) === '0')
{
 s = s.substr(1);
}

Это убьет любые 0 в начале строки.

559
ответ дан John 7 August 2013 в 17:23
поделиться

Очень читабельный код должен использовать .substring() с начальным значением, установленным для индекса второго символа (1) (первый символ имеет индекс 0). Второй параметр метода .substring() на самом деле необязателен, поэтому вам даже не нужно вызывать .length() ...

TL; DR: удалить первый символ из строки:

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.substr(1);
//yourString now contains "test"

.slice() против .substring() против .substr()

Цитата (и больше об этом в) В чем разница между String.slice и String.substring?

Он также указывает, что если параметры для среза отрицательны, они ссылаются на строку с конца. Substring и substr не являются.

152
ответ дан Community 7 August 2013 в 17:23
поделиться

Используйте .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 );
78
ответ дан user113716 7 August 2013 в 17:23
поделиться

Самый простой способ удалить все ведущие 0:

var s = "00test";
s = s.replace(/^0+/, "");

Если просто удалить один ведущий символ 0, как следует из вопроса, вы можете использовать

s = s.replace(/^0/, "");
54
ответ дан Tim Down 7 August 2013 в 17:23
поделиться

Вы можете сделать это с помощью метода подстроки :

let a = "My test string";

a = a.substring(1);

console.log(a); // y test string
19
ответ дан Andrew 7 August 2013 в 17:23
поделиться
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();
7
ответ дан zsalzbank 7 August 2013 в 17:23
поделиться
//---- 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));
6
ответ дан Mureinik 7 August 2013 в 17:23
поделиться
var test = '0test';
test = test.replace(/0(.*)/, '$1');
0
ответ дан kelloti 7 August 2013 в 17:23
поделиться

Вы пробовали функцию substring?

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

Вот ссылка - https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/ Строка / подстрока

И вы всегда можете сделать это для нескольких 0:

while(string.indexOf(0) == '0')
{
    string = string.substring(1);
}
16
ответ дан mikemaccana 7 August 2013 в 17:23
поделиться

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);
3
ответ дан ChaosPandion 7 August 2013 в 17:23
поделиться

попробуйте

s.replace(/^0/,'')

console.log("0string  =>", "0string".replace(/^0/,'') );
console.log("00string =>", "00string".replace(/^0/,'') );
console.log("string00 =>", "string00".replace(/^0/,'') );
2
ответ дан Kamil Kiełczewski 7 August 2013 в 17:23
поделиться

Из реализации JavaScript (trim>), которая удаляет начальные и конечные пробелы из строк. Вот измененная реализация ответа на этот вопрос.

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,'');
 }
}
0
ответ дан fino 7 August 2013 в 17:23
поделиться

Вот тот, который не предполагает, что вход является string, использует substring и поставляется с несколькими модульными тестами:

var cutOutZero = function(value) {
    if (value.length && value.length > 0 && value[0] === '0') {
        return value.substring(1);
    }

    return value;
};

http: // jsfiddle. нетто / TRU66 / 1 /

3
ответ дан bdukes 7 August 2013 в 17:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: