Wie spalten Sie eine JavaScript-Zeichenfolge durch Leerzeichen und Interpunktionszeichen?

8

Ich habe eine zufällige Zeichenfolge, zum Beispiel: Hello, my name is john. . Ich möchte, dass diese Zeichenfolge in ein Array wie folgt aufgeteilt wird: Hello, ,, , my, name, is, john, ., . Ich habe str.split(/[^\w\s]|_/g) ausprobiert, aber es scheint nicht zu funktionieren. Irgendwelche Ideen?

    
chromedude 28.05.2011, 15:33
quelle

4 Antworten

7

Versuche das (ich bin mir nicht sicher, ob du das gewollt hast):

%Vor%

Ссылка

    
pepkin88 28.05.2011, 15:37
quelle
15

Um eine Zeichenfolge bei einem beliebigen Lauf von Nicht-Wort-Zeichen zu trennen, z. Nicht A-Z, 0-9 und Unterstrich.

%Vor%

Oder, unter der Annahme, dass Ihre Zielsprache Englisch ist, können Sie alle semantisch nützlichen Werte aus einer Zeichenkette extrahieren (d. h. eine Zeichenkette "tokenisieren") mit:

%Vor%

welches produziert:

%Vor%

BEARBEITEN

Auch verfügbar als Github Gist

    
Rob Raisch 28.05.2011 15:37
quelle
3

Versuchen:

%Vor%

Dies wird durch ein beliebiges nicht-alphanumerisches Zeichen ( \W ) und einen Unterstrich geteilt. Es verwendet umschließende Klammern, um das Element einzubeziehen, durch das im Endergebnis geteilt wurde.

    
Reid 28.05.2011 15:37
quelle
0

Diese Lösung verursachte eine Herausforderung mit Leerzeichen für mich (immer noch benötigt), dann gab ich str.split(/\b/) einen Schuss und alles ist gut. Leerzeichen werden im Array ausgegeben, was nicht schwer zu ignorieren ist, und die nach Interpunktion übrig gelassenen können ausgeschnitten werden.

    
MikeyB 07.01.2018 22:22
quelle

Tags und Links