Heim > Java > javaLernprogramm > Wie teile ich einen Java-String korrekt mit einem Punkt (.) als Trennzeichen auf?

Wie teile ich einen Java-String korrekt mit einem Punkt (.) als Trennzeichen auf?

Susan Sarandon
Freigeben: 2024-11-23 07:30:11
Original
343 Leute haben es durchsucht

How to Correctly Split a Java String Using a Dot (.) as the Delimiter?

Java-String-Splitting mit „.“ (Punkt)

In Java wird die Methode split() verwendet, um eine Zeichenfolge basierend auf einem angegebenen Trennzeichen in Teilzeichenfolgen zu unterteilen. Beim Versuch, eine Zeichenfolge anhand des Literalpunktzeichens „.“ aufzuteilen, wird jedoch möglicherweise eine ArrayIndexOutOfBoundsException ausgelöst.

Um dieses Problem zu veranschaulichen, betrachten Sie den folgenden Code:

String filename = "D:/some folder/001.docx";
String extensionRemoved = filename.split(".")[0];
Nach dem Login kopieren

Im Der obige Code besteht darin, die Dateierweiterung zu entfernen, indem der Dateiname durch einen Punkt geteilt wird. Die Ausführung dieses Codes führt jedoch zu einer Ausnahme.

Umgekehrt funktioniert der folgende Code korrekt:

String driveLetter = filename.split("/")[0];
Nach dem Login kopieren

Dies liegt daran, dass die Methode split() „.“ interpretiert. als Platzhalterzeichen, das mit jedem Zeichen in der Zeichenfolge übereinstimmt. Um den Literalpunkt zu teilen, ist es notwendig, ihn mit einem Backslash zu maskieren:

String extensionRemoved = filename.split("\.")[0];
Nach dem Login kopieren

Durch das Escapezeichen des Punkts geben wir an, dass wir nach dem Literalzeichen und nicht nach dem Platzhalter teilen möchten. Es ist wichtig zu beachten, dass das Backslash-Zeichen selbst ein Sonderzeichen in Regex ist und daher auch mit einem anderen Backslash maskiert werden muss.

Außerdem ist es bei der Aufteilung nach einem Punkt wichtig, den Randfall wo zu berücksichtigen Der Dateiname ist leer oder besteht nur aus einem Punkt. Wenn Sie versuchen, eine solche Zeichenfolge zu teilen, ohne den limit-Parameter der split()-Methode zu verwenden, kann es zu einer ArrayIndexOutOfBoundsException kommen. Um dies zu verhindern, verwenden Sie einen negativen Wert für den Grenzwertparameter:

String extensionRemoved = filename.split("\.", -1)[0];
Nach dem Login kopieren

Indem Sie den Grenzwert auf einen negativen Wert festlegen, deaktivieren Sie das Entfernen abschließender Leerzeichen aus dem resultierenden Array und stellen so sicher, dass Sie immer ein gültiges erhalten Index auch für leere oder einzelne Zeichenketten.

Das obige ist der detaillierte Inhalt vonWie teile ich 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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage