Kann jemand einen regulären Ausdruck bereitstellen, um gefundene illegale Zeichen zu suchen und zu ersetzen?
Beispiel: Entfernen von �
Ich bin mir nicht sicher, wie viele Arten von "illegalen" Charakteren existieren, aber ich denke, dies wird ein guter Anfang sein.
Danke vielmals
Bearbeiten - Ich habe keine Kontrolle über die Daten. Wir versuchen, einen Fang für die potenziell fehlerhaften Daten zu erstellen, die wir erhalten.
3 Antworten
Ungültige Zeichen werden beim Parsen in 0xFFFD konvertiert, sodass ungültige Zeichencodes ersetzt werden durch:
myString = myString.replace(/\uFFFD/g, '')
Sie können alle Arten ungültiger Zeichen erhalten, hier
Anstelle einer schwarzen Liste können Sie auch eine Whitelist verwenden. z.B. Wenn Sie nur Buchstaben, Zahlen, Leerzeichen und einige Satzzeichen akzeptieren möchten, können Sie dies tun
myString.replace(/[^a-z0-9 ,.?!]/ig, '')
Versuchen Sie dies, es funktioniert für alle unerwarteten Charaktere wie ♫ ◘ etc ...
dataStr.replace(/[\u{0080}-\u{FFFF}]/gu,"");