Utilisation de String.split() avec plusieurs délimiteurs
Lorsque vous travaillez avec des chaînes en programmation, il est souvent nécessaire de les diviser en sous-chaînes en fonction sur des délimiteurs spécifiés. Cette question démontre un scénario courant dans lequel le fractionnement devrait se produire en plusieurs points de délimitation.
Problème :
L'objectif est de diviser la chaîne "AA.BB-CC-DD .zip" en utilisant à la fois le trait d'union (-) et le point (.) comme délimiteurs, ce qui donne le résultat suivant :
AA BB CC DD zip
Cependant, le code fourni ne parvient pas à y parvenir en raison d'un oubli dans le modèle de délimiteur.
Solution :
L'erreur réside dans le modèle de délimiteur utilisé :
String[]tokens = pdfName.split("-\.");
Pour diviser en fonction de l'un ou l'autre délimiteur, un opérateur logique OU (|) doit être utilisé. Le modèle corrigé devrait être :
String[]tokens = pdfName.split("-|\.");
Avec cette modification, le code divisera désormais correctement la chaîne comme vous le souhaitez.
L'opérateur OR (|) est un concept crucial dans les expressions régulières, permettant une correspondance basée sur plusieurs modèles. En insérant l'opérateur OR entre les modèles de tiret et de point, le code modifié spécifie effectivement que la séparation doit se produire partout où un tiret ou un point est rencontré.
En comprenant les mécanismes des expressions régulières et en utilisant efficacement les opérateurs logiques , vous pouvez réaliser efficacement des tâches complexes de manipulation de chaînes, telles que le fractionnement basé sur plusieurs délimiteurs.
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!