Ich versuche, den regulären Ausdruck herauszufinden, der mit jedem Zeichen übereinstimmt, das kein Buchstabe oder keine Zahl ist. Also Zeichen wie (,, @, £, () etc ...
Einmal gefunden, möchte ich es durch ein Leerzeichen ersetzen.
Irgendein Rat.
javascript
regex
James Jeffery
quelle
quelle
\w
ist für[a-zA-Z0-9_]
Wortzeichen und ist genau das gleiche wie (beachten Sie, dass der Unterstrich als Wortzeichen betrachtet wird.) ... also wäre die Abkürzungstr.replace(/[^\w]/g, ' ')
Dieser reguläre Ausdruck entspricht allem, was kein Buchstabe, keine Ziffer oder kein Unterstrich (
_
) ist.Zum Beispiel in JavaScript:
quelle
Du suchst nach:
Dies ersetzt alle nicht alphanumerischen Zeichen durch ein Leerzeichen.
Das "g" am Ende ersetzt alle Vorkommen.
Anstatt az (Kleinbuchstaben) und AZ (Großbuchstaben) anzugeben, können Sie auch die Option verwenden, bei der zwischen Groß- und Kleinschreibung unterschieden wird :
/[^a-z0-9]/gi
.quelle
Dies ist viel zu spät, aber da es keine akzeptierte Antwort gibt, möchte ich die meiner Meinung nach einfachste Antwort geben: \ D - entspricht allen nichtstelligen Zeichen.
Ergebnisse in x: "12323525"
Siehe https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
quelle
versuche str.replace (/ [^ \ w] /); Es ersetzt alle Nicht-Alphabete und Zahlen aus Ihrer Zeichenfolge!
Bearbeiten 1:
str.replace(/[^\w]/g, ' ')
quelle
str.replace(/[^\w]/g, ' ')
. Wenn Sie kein/g
Flag einfügen, wird nur das erste Vorkommen ersetzt. Und wenn Sie keine Ersatzzeichenfolge definieren, hier ein Leerzeichen' '
, wird dieseundefined
überall ersetzt. Schließlich werden Unterstriche nicht ersetzt, weil sie übereinstimmen\w
. Diese Antwort passt nicht perfekt.Nur für andere zu sehen:
entfernt alle Nicht-Buchstaben- und Nicht-Zahlen-Unicode-Zeichen.
Quelle
quelle
replaceAll
, und die Escape-\p{..}
Eigenschaften sind nicht weit verbreitet.Haben Sie es versucht
str = str.replace(/\W|_/g,'');
, wird eine Zeichenfolge ohne Zeichen zurückgegeben, und Sie können angeben, ob nach der Pipe-Leiste ein bestimmtes Zeichen vorhanden ist|
, um sie ebenfalls abzufangen.var str = "1324567890abc§$)% John Doe #$@'.replace(/\W|_/g, '');
es wird zurückkehrenstr = 1324567890abcJohnDoe
oder suchen Sie nach Ziffern und Buchstaben und ersetzen Sie sie durch leere Zeichenfolgen (""):
var str = "1324567890abc§$)% John Doe #$@".replace(/\w|_/g, '');
es wird zurückkehrenstr = '§$)% #$@';
quelle
/[A-Z]/ig
/[^A-Z]/ig
/[0-9]/g
oder/\d+/g
/[^0-9]/g
oder ist/\D+/g
/[^A-Z0-9]/ig
Es gibt andere mögliche Muster
quelle
Um etwas anderes als Buchstaben oder Zahlen oder Buchstaben mit Diakritika wie
é
diesen abzugleichen, können Sie Folgendes versuchen:Und zu ersetzen:
Inspiriert vom Top Post mit Unterstützung für Diakritika
Quelle
quelle