javascript regex für Leerzeichen oder
Ich bin auf der Suche nach einem javascript regex für Leerzeichen.
Ich checke verschiedene string in einer Schleife und ich suchen müssen die strings mit den großen weißen Raum in Ihnen.
Den weißen Raum Zeichenfolge erstellt in einer Schleife, wie dies...
Lesen Sie bitte diesen code als var whitespace = " "
dann wird die Schleife nur concats mehr non breaking spaces auf.
var whitespace = " "
for (var x = 0; x < 20; x++) {
whitespace += " "
}
dann ist es später in einem string-concat.
sometext += whitespace + someData;
Brauche ich, um zu identifizieren, die die Zeichenfolgen, die Leerzeichen enthalten darf (20 Plätze).
Oder sollte ich nur tun, eine contains(whitespace)
oder etwas ähnliches.
Jede Hilfe ist willkommen.
Cheers,
~ck in San Diego
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie definiert haben, Leerzeichen als 20 Räume, die Sie tun können,
Gibt es keine Notwendigkeit zu verwenden, regex, wenn man darauf verzichten kann.
Für diese konkrete Frage, Yogi ist richtig-Sie brauchen nicht regex und du bist wahrscheinlich besser dran ohne Sie.
Für die Zukunft, wenn jemand anderes kommt suchen, regex hat ein besonderes Zeichen für whitespace:
In JS-Sprache (wo regex-Literale werden können, eingeschlossen in Schrägstriche), wenn Sie nach 20 Leerzeichen (keine tabs, Zeilenumbrüche, etc.) Sie können dies tun:
Werden Sie wollen auch zu beachten, dass viele browser regex-engines berücksichtigen nicht die Non-Breaking SPace werden whitespace-Zeichen. Die unicode-Darstellung für die NBSP Charakter:
Kombiniert, auf der Suche nach einer beliebigen Kombination von 20 whitespace-Zeichen (einschließlich Tabulatoren, etc.) ODER NBSPs in eine Zeile (die eckigen Klammern bezeichnen ein 'Charakter-Klasse'):
BEARBEITEN: Einbindung thomas' point über NBSP. Seinen Kommentar und/oder Antwort einer Stimme, wenn Sie-ich weiß, ich habe.
sentence.split(/[\s\u00A0]+/)
.Mindestens IE und Chrome NICHT include char 160 (nbsp) in \s. Ein regex enthält, ist
siehe auch
http://www.adamkoch.com/2009/07/25/white-space-and-character-160/
die Berichte über IE, aber mittlerweile ist chrome anscheinend auch geändert, um es nicht.
Für den IE (ich habe das getestet in IE7),
\s
entspricht nicht
aber Chrome und Firefox funktioniert. Also, wenn Sie wollen, zu beseitigen, die Leerzeichen aber nicht
(no break space) verwenden Sie nicht\s
wie es ist kein browser sicher ist.Zum Beispiel, Sie wollen zu beseitigen alle weißen Flächen einschließlich \n \t aber nicht
verwenden, können Sie\n \t
und weißen Raum, das ist:str.replace(/[\t \n]+/g, "")