Etwas anderes als split(" ") mit leerzeichen aufzurufen wird dir nicht übrig bleiben, wenn der benutzer etwas wie "Hallo,du,wie;gehts#dir" eingibt benutzt er das programm nicht korrekt.
Du kanst natürlich eine eigene split funktion schreiben die jede mögliche substring kombination erfasst und darauf prüft ob es sich um ein korrektes deutsches wort handelt und diese dann in einem array speichert, viel spass dabei