Ersetzen Sie Rohr und Komma mit Regex in Javascript
Sitze ich hier mit Dem "Guten Teile" in der hand, aber ich bin immer noch nicht klüger.
Kann jeder klopfen eines regex für mich, die mir erlauben wird, ersetzen Sie alle Instanzen von "|" und "," aus einem string.
Auch, könnte jemand mich in Richtung eine wirklich gute Ressource für das lernen reguläre Ausdrücke, vor allem in javascript (sind Sie ein besonderes Aroma??) Es ist wirklich eine Schwachstelle in meinem wissen.
Cheers.
Du musst angemeldet sein, um einen Kommentar abzugeben.
str.replace(/(\||,)/g, "replaceWith")
vergessen Sie nicht, dieg
am Ende, so dass es seaches den string Global, wenn Sie nicht setzen es die regex wird nur ersetzt die erste Instanz des Zeichen.Was sagt, ist ersetzen
|
(Sie müssen zu entkommen, dieses Zeichen) ODER(|
),
Schönes Cheatsheet hier
/[|,]/g
da es nur ein einzelnes Zeichen.[xyz]
definiert einen Satz von Zeichen und entspricht(x|y|z)
aber ohne Gruppierung Ausdruck.Die beste Ressource, die ich gefunden haben, wenn Sie wirklich wollen, zu verstehen reguläre Ausdrücke (und der Besondere Vorsichtsmaßnahmen oder Macken von jedem von einer Mehrzahl der Implementierungen/Aromen) ist Regular-Expressions.info.
Wenn Sie wirklich in regulären Ausdrücken, ich würde empfehlen, das Produkt mit dem Namen RegexBuddy für das testen und Debuggen von regulären Ausdrücken in allen möglichen Sprachen (obwohl es ein paar Sachen, die Sie nicht ganz Unterstützung, ist es sehr gut insgesamt)
Edit:
Der beste Weg (ich denke, vor allem, wenn man bedenkt, Lesbarkeit) ist mit einem Charakter-Klasse eher als Abwechslung (d.h.:
[]
statt|
)verwenden:
Diese ersetzen entweder eine
|
oder eine,
mit einem SemikolonDem Charakter Klasse, die im wesentlichen bedeutet, "match alles, was in diesen eckigen Klammern" - mit nur wenigen Ausnahmen.
[a-zA-Z]
bedeutet, dass jeder Brief vona
zuz
oder ausA
zuZ
).^
) zu Beginn der Charakter-Klasse negiert - es bedeutet nichts nicht in diesem Charakter-Klasse ([^0-9]
bedeutet, dass alle Zeichen, die nicht aus0
zu9
).\
wenn Sie es vorziehen