Заменить первый символ строки
У меня есть строка |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|