Innanzitutto ti assicuro che è possibile usare un solo split con una ben apposita e completa regex, senza quindi dover "sostituire" alcunché con replaceAll.
Anche volendo fare più replaceAll, uno per ciascun simbolo (poco efficiente ma non è questo il punto/problema, chiaramente) devi tenere ben a mente che la stringa che passi a replaceAll rappresenta una "espressione regolare", in cui certi caratteri sono speciali. Ad esempio il punto "." nelle regex ha un significato particolare, vuol dire: un qualunque carattere.
Quindi facendo:

testo = testo.replaceAll(".", " ");

vai a blankare l'intero testo!!

Quindi innanzitutto cerca di comprendere l'uso delle espressioni regolari.