Remplacer le premier caractère de chaîne

J'ai une chaîne |0|0|0|0

Mais il doit être 0|0|0|0

Comment puis-je remplacer le premier caractère ( '|' ) par ( '' ). Par exemple, replace('|','')

(Avec JavaScript)

Vous pouvez faire exactement ce que vous avez 🙂

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

Vous pouvez le voir fonctionner ici , .replace() en javascript ne remplace que la première occurrence par défaut (sans /g ), donc cela fonctionne à votre avantage 🙂

Si vous devez vérifier si le premier caractère est un tuyau:

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

Vous pouvez voir le résultat ici

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

Cela supprime le premier caractère s'il s'agit d'un |.

 var newstring = oldstring.substring(1); 

Si vous ne savez pas exactement quel sera le premier caractère (0 ou |), le sens suivant est logique:

 // 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' 

Sans la vérification conditionnelle, str.replace supprimera toujours la première occurrence de '|' Même si ce n'est pas le premier caractère de la chaîne. Cela vous donnera des résultats indésirables dans le cas de CASE 2 (str sera '00 | 0 ').

C'est littéralement ce que vous avez suggéré.

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

Renvoie "0|0|0"

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