Je veux remplacer plusieurs parties d'une chaîne avec des choses différentes. J'ai une série d'URL contenant ces chaînes qui doivent changer, elles suivent tous le même motif.
E.g. p>
Je veux juste que le résultat soit les langues par exemple. Espagnol, italien, italien espagnol p>
J'ai essayé cela comme un test, mais il renvoie "l'espagnol non défini indéfini" p>
3 Réponses :
Ceci se produit car votre correspondance REGEX recherche Dans tous les cas, votre objet est inutile, et c'est ainsi que le regex (comme @Alastair) ) Puisque vous remplacez une sous-chaîne statique et immuable. p> débutants code>, mais dans votre objet code> objet code> Il n'y a pas de touche appelée débutants code> - il s'appelle -Beginners code>. Idem pour cours code> / -course code>.
Votre cas est très simple, vous pouvez vous diviser et prendre en premier.
p>
.as-console-row {color: blue!important} Vous obtenez null parce que cette partie Vous utilisez la correspondance pour obtenir la valeur de l'objet , mais l'objet contient Si vous voulez faire le remplacement, et il doit y avoir au moins 1 mot avant , vous pouvez utiliser un groupe de capture REGEX DEMO P> P> - | débutants | cours code> est un Alternance qui correspondra à - code>, débutants code> ou cours code> -Beginners code> et -course code> p> 1 $ code> dans le remplacement et correspondez après ce que vous souhaitez supprimer. p> [
'spanish-beginners-course',
'italian-beginners-course',
'spanish-italian-beginners-course',
'donotremove!-beginners-course'
]
.forEach(s => console.log(s.replace(/(\w+(?:-\w+)*)-beginners-course\b/g, "$1")));
Avez-vous besoin de regex? Pouvez-vous simplement utiliser par exemple
'ESPAGNOL-Débutants-Course'ilreplace (' - Débutant-parcours ',' ') code>?Il doit couvrir plusieurs langues comme un «parcours d'espagnol-italien-débuners» aussi
Eh bien, il suffirait de faire
pagename.replace ('- débutant-parcours', '') code>Ou si vous avez besoin de l'espace au lieu de l'utilisation de l'utilisation
pagename.replace ('- débutant-cours', ''). Remplacer ('-' ',' ') CODE>