Heim >Java >javaLernprogramm >Wie teilt man einen Java-String mithilfe eines literalen Punkts (.) korrekt auf?
Java String Split mit „.“ (Punkt)
Das Problem hierbei ist die Mehrdeutigkeit des Punkts „.“ Zeichen in der Java-Zeichenfolgenaufteilung.
Im bereitgestellten Code ist die Zeile String extensionRemoved = filename.split(".")[0]; schlägt mit einer ArrayIndexOutOfBoundsException fehl, da der Punkt als Platzhalterzeichen interpretiert wird, das mit einem beliebigen Zeichen übereinstimmt, was nach der Aufteilung zu einem leeren Array führt.
Um einen Literalpunkt aufzuteilen, muss dieser mit \.:
String extensionRemoved = filename.split("\.")[0];Dadurch wird sichergestellt, dass der Punkt als Literalzeichen und nicht als Platzhalter behandelt wird.Alternativ: Sie können die überladene Version von Split mit einem negativen Grenzwert verwenden, um das Entfernen abschließender Leerzeichen aus dem Ergebnis zu deaktivieren:
String extensionRemoved = filename.split("\.", -1)[0];Dies gibt ein nicht leeres Array zurück, selbst wenn der Dateiname ein einzelner Punkt ist.Es ist wichtig zu beachten, dass die Split-Methode ein durch die Punkte geteiltes Array von Zeichenfolgen zurückgibt, wenn der Dateiname mehrere Punkte enthält. Daher ist es wichtig, die Anzahl der von der Split-Methode zurückgegebenen Elemente zu verwalten, um mögliche Ausnahmen zu vermeiden.
Das obige ist der detaillierte Inhalt vonWie teilt man einen Java-String mithilfe eines literalen Punkts (.) korrekt auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!