Si j'ai des chaînes ["32145", "yes", "no", "0"] comment voudrais-tu: , "yes", "no", "0" ? Pour le moment, j'ai le regex ci-dessous, mais cela me donne , oui, non,
.replace(/["'\\[\\ \d ./g,"")
Comment supprimer simplement le premier chiffre et la première virgule après ce chiffre?
3 Réponses :
Peut-être,
const regex = /\["\d+",|[\]"]/g; const str = `["32145","yes","no","0"] `; const subst = ``; const result = str.replace(regex, subst); console.log(result);
être remplacé par une chaîne vide fonctionnerait bien.
\["\d+",|[\]"]
Cela garde toujours tous les guillemets, je ne cherche pas non plus à ajouter les crochets
Voici une solution sans regex utilisant JSON.parse () .
var str = '["32145","yes","no","0"]'; var result = JSON.parse(str); // Convert string to array. result.shift(); // Remove first array element. result = result.toString(); // Convert array to string. console.log(result);
Analysez simplement la valeur et supprimez le premier élément qui est un nombre
let firstNumRemover = (str) => {
let removeFurther = true
return JSON.parse(str).filter(v => {
if (!isNaN(v) && removeFurther) {
removeFurther = false
return false
}
return true
}).toString()
}
console.log(firstNumRemover(`["32145","yes","no","0"]`))
console.log(firstNumRemover(`["Some random text", "32145","yes","no","0"]`))
Une bonne ressource que j'utilise lors du test de regex est un éditeur de regex en ligne pour voir rapidement comment il interagit. Il suffit de l'ajouter au cas où vous le trouveriez utile.
@Emma oui je le ferais