Überprüfen ob nur Leerzeichen im String



  • Hallo,

    ich habe einen String, den ich aus einer Datei eingelesen habe.
    Wenn ich nun mit der Funktion

    replaceAll("\n", "")

    alle Zeilenumbrüche entferne, werden dann auch die Wagen-Rückläufe \r entfernt, wenn ich das Programm unter Linux ausführe, die Textdatei, aus der der String gelesen wurde, jedoch unter Windows verfasst wurde?

    Weiterhin möchte ich nun überprüfen ob in dem String nur Leerzeichen vorkommen, wie mache ich das am besten?
    Ich gehe momentan so vor:

    Ich durchlaufe den String und vergleiche die aktuelle Position (chatAt(i)) mit ' ' und '\t'. Sobald ein anderes Zeichen als diese beiden auftritt, breche ich den Durchlauf ab und weiß, dass nicht nur Leerzeichen bzw. Tabs in dem String vorkommen. Gibt es dafür vielleicht eine bessere Vorgehensweise??

    Danke!



  • Frager schrieb:

    Ich durchlaufe den String und vergleiche die aktuelle Position (chatAt(i)) mit ' ' und '\t'. Sobald ein anderes Zeichen als diese beiden auftritt, breche ich den Durchlauf ab und weiß, dass nicht nur Leerzeichen bzw. Tabs in dem String vorkommen. Gibt es dafür vielleicht eine bessere Vorgehensweise??

    Danke!

    boolean nurLeerzeichen = s1.equals(s1.trim());



  • boolean nurLeerzeichen = s1.equals(s1.trim());
    

    Das ist falsch. Diese Variable zeigt dann an, ob der String am Ende und am Anfang _keine_ Leerzeichen besitzt.

    Wenn du aber wissen willst, ob ein String _ausschließlich_ Leerzeichen (und whitespaces) enthält, dann versuch mal folgendes:

    boolean nurLeerzeichen = s1.trim.length() == 0;
    


  • indeed


Anmelden zum Antworten