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.
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