"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como dividir strings Java corretamente em um ponto literal usando sequências de escape?

Como dividir strings Java corretamente em um ponto literal usando sequências de escape?

Publicado em 2025-01-12
Navegar:265

How to Properly Split Java Strings on a Literal Dot Using Escape Sequences?

Usando sequência de escape para dividir strings Java em ponto literal

Ao tentar dividir uma string Java em um ponto literal (".") usando o método split(), é essencial escapar do ponto usando a sequência de escape "\". Esta ação é necessária porque o método split() trata um ponto sem escape como uma expressão regular que corresponde a qualquer caractere, o que pode levar a resultados inesperados.

Por exemplo, considere o seguinte código:

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

Este código lança uma ArrayIndexOutOfBoundsException porque a string de entrada é apenas um único ponto. Dividir um ponto em outro resulta em uma matriz vazia e, como o método split() remove as strings vazias do resultado, uma matriz vazia é retornada.

Para resolver esse problema, o ponto deve ser escapado como segue:

String extensionRemoved = filename.split("\\.")[0];

Usando a sequência de escape "\", especificamos que queremos para dividir no caractere de ponto literal, não em qualquer caractere.

É importante observar que a barra invertida dupla é necessária para criar uma única barra invertida no regex, pois uma única barra invertida é tratada como um caractere de escape na string Java literais.

Seguindo esta abordagem, você pode efetivamente dividir strings Java em um ponto literal, evitando ArrayIndexOutOfBoundsExceptions e garantindo resultados precisos.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3