Заменить первый символ строки

У меня есть строка |0|0|0|0

но это должно быть 0|0|0|0

Как заменить первый символ ('|') на (''). например replace('|','')

(с JavaScript)

Ответы

Ответ 1

Вы можете сделать именно то, что у вас есть:)

var string = "|0|0|0|0";
var newString = string.replace('|','');
alert(newString); // 0|0|0|0

Вы можете видеть, что он работает здесь, .replace() в javascript только заменяет первое вхождение по умолчанию (без /g), поэтому это работает в ваших интересах:)

Если вам нужно проверить, является ли первый символ трубой:

var string = "|0|0|0|0";
var newString = string.indexOf('|') == 0 ? string.substring(1) : string;
alert(newString); // 0|0|0|0​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

Здесь вы можете увидеть результат

Ответ 2

str.replace(/^\|/, "");

Это приведет к удалению первого символа, если он |.

Ответ 3

var newstring = oldstring.substring(1);

Ответ 4

Если вы не знаете, каким будет первый символ (0 или |), то имеет смысл следующее:

// CASE 1:
var str = '|0|0|0';
str.indexOf( '|' ) == 0 ? str = str.replace( '|', '' ) : str;
// str == '0|0|0'

// CASE 2:
var str = '0|0|0';
str.indexOf( '|' ) == 0? str = str.replace( '|', '' ) : str;
// str == '0|0|0'

Без условной проверки str.replace все равно удалит первое вхождение '|' даже если это не первый символ в строке. Это даст вам нежелательные результаты в случае CASE 2 (str будет "00 | 0" ).

Ответ 5

Это буквально то, что вы предложили.

"|0|0|0".replace('|', '')

возвращает "0|0|0"

Ответ 6

"|0|0|0|0".split("").reverse().join("")  //can also reverse the string => 0|0|0|0|