Home > Java > javaTutorial > How to Correctly Split a Java String Using a Dot (.) as a Delimiter?

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

Mary-Kate Olsen
Release: 2024-11-27 18:18:10
Original
607 people have browsed it

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

Java String Split with Dot (.)

In Java, the split() method is commonly used to break down a string based on a specified delimiter. However, when attempting to split a string on a literal dot (.), programmers encounter the following error:

fileName.split(".")[0];
ArrayIndexOutOfBoundsException
Copy after login

To understand the cause of this exception, we must delve into regex. The dot (.) is a metacharacter in regex that matches any character. Therefore, using a literal dot without escaping it results in unintentional splitting behavior.

The correct approach is to escape the dot using a backslash () to ensure that it is interpreted as a literal character:

fileName.split("\.")[0];
Copy after login

This ensures that the string is split specifically at the literal dot character, rather than any other character.

Another issue that may arise is an ArrayIndexOutOfBoundsException when the input string consists solely of a dot (.). To avoid this edge case, use the overloaded version of split() with a limit parameter set to a negative value:

fileName.split("\.", -1)[0];
Copy after login

Setting limit to a negative value disables the behavior of removing trailing blanks from the resulting array, ensuring that even when the input string is just a dot, an array with two blanks is returned:

".".split("\.", -1) // [""," "]
Copy after login

By following these approaches, you can effectively split Java strings on the dot character while avoiding potential exceptions.

The above is the detailed content of How to Correctly Split a Java String Using a Dot (.) as a Delimiter?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template