Maison >Java >javaDidacticiel >Comment diviser des chaînes sur des espaces tout en préservant les sous-chaînes citées en Java ?
Diviser les chaînes sur les espaces, préserver les sous-chaînes citées en Java
Le fractionnement des chaînes de Java est un outil polyvalent, mais il peut se heurter à des défis lorsqu'il rencontre sous-chaînes entre guillemets. Pour diviser efficacement une chaîne en fonction des espaces tout en traitant les sous-chaînes entre guillemets comme un seul mot, envisagez la méthode suivante :
À l'aide d'expressions régulières, la solution exploite un modèle spécifique qui identifie les jetons comme des séquences non citées de non- caractères d'espacement ou séquences entre guillemets contenant un nombre quelconque de caractères. Le résultat est une liste d'éléments tokenisés qui préservent avec précision les sous-chaînes citées.
Pattern pattern = Pattern.compile("([^\"]\S*|\".+?\")\s*"); Matcher matcher = pattern.matcher(str); List<String> tokens = new ArrayList<>(); while (matcher.find()) { String token = matcher.group(1); tokens.add(token.replace("\"", "")); // Remove surrounding quotes if needed }
Dans cet exemple, la chaîne "Location "Bienvenue en Inde" Bangalore Channai "IT city" Mysore" sera tokenisée comme :
Location Welcome to india Bangalore Channai IT city Mysore
Cette méthode gère avec élégance la préservation des sous-chaînes citées, garantissant que les expressions significatives telles que « Bienvenue en Inde » ou « Ville informatique » sont conservées sous forme de jetons uniques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!