"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment diviser correctement des chaînes Java sur un point littéral à l'aide de séquences d'échappement ?

Comment diviser correctement des chaînes Java sur un point littéral à l'aide de séquences d'échappement ?

Publié le 2025-01-12
Parcourir:211

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

Utilisation d'une séquence d'échappement pour diviser des chaînes Java sur un point littéral

Lors d'une tentative de fractionnement d'une chaîne Java sur un point littéral ("".") en utilisant la méthode split(), il est essentiel d'échapper au point en utilisant la séquence d'échappement "\". Cette action est nécessaire car la méthode split() traite un point non échappé comme une expression régulière qui correspond à n'importe quel caractère, ce qui peut conduire à des résultats inattendus.

Par exemple, considérons le code suivant :

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

Ce code renvoie une ArrayIndexOutOfBoundsException car la chaîne d'entrée n'est qu'un seul point. La division d'un point sur un point donne un tableau vide, et comme la méthode split() supprime les chaînes vides de fin du résultat, un tableau vide est renvoyé.

Pour résoudre ce problème, le point doit être échappé comme suit :

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

En utilisant la séquence d'échappement "\", nous précisons que nous voulons diviser sur le caractère point littéral, pas n'importe quel caractère.

Il est important de noter que la double barre oblique inverse est nécessaire pour créer une seule barre oblique inverse dans l'expression régulière, car une seule barre oblique inverse est traitée comme un caractère d'échappement dans les littéraux de chaîne Java.

En suivant cette approche, vous pouvez diviser efficacement les chaînes Java sur un point littéral, empêchant ainsi les exceptions ArrayIndexOutOfBoundsExceptions et garantissant une précision résultats.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3