Sagen wir, ich habe eine Zeichenfolge: "(2 * 32) + 5^2"Java String.split() - Unterteilen einer Zeichenfolge mit // s + erfasst keine Klammern als separate Elemente?
Ich möchte diese in ein String-Array drehen: [(2, *, 32,), + , 5, ^, 2]
dh ich möchte keine Leerzeichen in der ursprünglichen Zeichenfolge erfassen und möchte sie durch Leerzeichen teilen.
Also versuchte ich string.split ** ("\\ s +") ** aber das Ergebnis sieht wie [(2, *, 32), +, 5, ^, 2].
Kann jemand erklären, warum es nicht gespalten „(2“ in (2? Thank you!
, weil es keine Leerzeichen zwischen '(' und '2' ... – njzk2
' \\ s + 'stellt eine 1+ Sequenz von Leerzeichen. Offensichtlich '(2' hat keine Leerzeichen darin. – Mena
In Ihrer erwarteten Ausgabe ignorieren Sie das '*' ist das gewünscht? Ich würde vorschlagen, jedes Zeichen in der Zeichenfolge zu gehen und es zu Ihrem Array hinzuzufügen, wenn es kein a ist whitespace – buczek