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|