Java String Split mit Punkt (.)
In Java wird die Methode split() häufig verwendet, um einen String basierend auf zu zerlegen ein angegebenes Trennzeichen. Beim Versuch, eine Zeichenfolge durch einen Punkt (.) zu teilen, stoßen Programmierer jedoch auf den folgenden Fehler:
fileName.split(".")[0]; ArrayIndexOutOfBoundsException
Um die Ursache dieser Ausnahme zu verstehen, müssen wir uns mit Regex befassen. Der Punkt (.) ist ein Metazeichen in Regex, das jedem Zeichen entspricht. Daher führt die Verwendung eines Literalpunkts ohne Escapezeichen zu unbeabsichtigtem Aufteilungsverhalten.
Der richtige Ansatz besteht darin, den Punkt mit einem Backslash () zu maskieren, um sicherzustellen, dass er als Literalzeichen interpretiert wird:
fileName.split("\.")[0];
Dadurch wird sichergestellt, dass die Zeichenfolge speziell am Literalpunktzeichen und nicht an anderen Zeichen geteilt wird.
Ein weiteres Problem, das auftreten kann, ist ein ArrayIndexOutOfBoundsException, wenn die Eingabezeichenfolge ausschließlich aus einem Punkt (.) besteht. Um diesen Grenzfall zu vermeiden, verwenden Sie die überladene Version von split() mit einem limit-Parameter, der auf einen negativen Wert gesetzt ist:
fileName.split("\.", -1)[0];
Das Festlegen von limit auf einen negativen Wert deaktiviert das Verhalten beim Entfernen nachfolgender Leerzeichen aus dem resultierenden Array , um sicherzustellen, dass selbst wenn die Eingabezeichenfolge nur ein Punkt ist, ein Array mit zwei Leerzeichen zurückgegeben wird:
".".split("\.", -1) // [""," "]
Durch Befolgen dieser Ansätze können Sie Java-Zeichenfolgen effektiv nach dem Punktzeichen aufteilen Vermeidung möglicher Ausnahmen.
Das obige ist der detaillierte Inhalt vonWie teilt man einen Java-String korrekt mit einem Punkt (.) als Trennzeichen auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!