Ersetzen Sie alle nicht Alpha-Numerischen Zeichen, Neue Zeilen und mehrere Leerzeichen mit einem Leerzeichen

Ich bin auf der Suche nach einem ordentlichen RegEx Lösung zu ersetzen

  • Alle nicht Alpha-Numerischen Zeichen
  • Alle Zeilenumbrüche
  • Alle mehrere Instanzen von white-space -

Mit einem einzigen Raum


Für diejenigen, die spielen zu Hause (der folgende Code funktioniert,)

text.replace(/[^a-z0-9]/gmi, " ").replace(/\s+/g, " ");

Mein denken ist RegEx ist vermutlich leistungsfähig genug, um dies zu erreichen in einer Anweisung. Die Komponenten die ich denke-id benötigen, sind

  • [^a-z0-9] - zum Entfernen von nicht Alpha-Numerischen Zeichen
  • \s+ - Spiel eine Sammlung von Leerzeichen
  • \r?\n|\r - match alle neuen Linie
  • /gmi - global, multi-line -, groß-und Kleinschreibung

Aber ich kann nicht scheinen, um Stil der regex in der richtigen Weise (das folgende funktioniert nicht)

text.replace(/[^a-z0-9]|\s+|\r?\n|\r/gmi, " ");


Eingang

234&^%,Me,2 2013 1080p x264 5 1 BluRay
S01(*&asd 05
S1E5
1x05
1x5


Gewünschte Ausgabe

234 Me 2 2013 1080p x264 5 1 BluRay S01 asd 05 S1E5 1x05 1x5
  • Wie genau funktioniert der Versuch nicht funktioniert? Was geht falsch?
InformationsquelleAutor TheGeneral | 2014-01-01
Schreibe einen Kommentar