Split ein string mit beliebiger Anzahl von Kommas und Leerzeichen
Ich habe einen String, den ich versuche, die wiederum in einer Liste, aber ich bekomme leere Einträge.
",A,B,C,D, ,,,"
returns
[, A, B, C, D, , , ,]
Möchte ich entfernen Sie alle "leer", Kommas:
[A, B, C, D]
Ich versuche
current.split(",+\\s?")
welche nicht zu dem Ergebnis was ich will. Was regex sollte ich stattdessen verwenden?
- Welche Sprache verwenden Sie?
- seine java. sollte das eine Rolle? Ich bitte Sie um Hilfe mit regex.
- Ja, denn verschiedene Sprachen verwenden unterschiedliche regex-Aromen mit unterschiedlichen Fähigkeiten und Syntax
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benötigen Sie zwei Schritte, aber nur eine Zeile:
Den Aufruf
replaceAll()
entfernt führende Separatoren.Der split erfolgt auf eine beliebige Anzahl von Trennzeichen.
Das Verhalten von
split()
bedeutet, dass eine nachfolgende leere Wert wird ignoriert, so dass keine Notwendigkeit zu trimmen nachgestellte Trennzeichen vor der Teilung.Hier ist ein test:
Ausgabe:
Sie wollen nicht nur in den nächsten paar Leerzeichen in dein Spiel, sondern auch die aufeinander folgenden commata nach split auf Sie als eine Einheit:
Ich würde Splitter in Guave für diese:
als ich finde das einfacher zu Lesen als die regex.
Passend zu jedem chars anderen als Kommas und Leerzeichen ist wahrscheinlich eine sauberere Lösung:
/[^, ]+/g
Wenn Sie Javascript können Sie auch das Lodash
_.words
Methode (kudos Ihnen für die oben genannten regex):https://lodash.com/docs#words