Maison > Article > développement back-end > Comment diviser des chaînes par espaces tout en préservant les sous-chaînes citées en Python ?
Diviser les chaînes par espaces tout en préservant les sous-chaînes entre guillemets en Python
Lors du traitement de chaînes contenant à la fois des espaces et des sous-chaînes entre guillemets, il peut être difficile de divisez les chaînes avec précision tout en conservant l'intégrité des sections citées. En Python, le module shlex fournit une solution pour ce scénario spécifique.
Utiliser shlex.split() pour conserver les guillemets
La fonction shlex.split() vous permet pour diviser une chaîne par des espaces tout en traitant les sous-chaînes entre guillemets comme une seule unité. Cela signifie que les espaces dans les sous-chaînes entre guillemets seront ignorés et que le texte cité sera conservé en tant qu'élément unique dans la liste résultante.
Exemple d'utilisation :
Considérez le chaîne suivante :
this is "a test"
Pour diviser cette chaîne à l'aide de shlex.split(), importez simplement le module et utilisez le code suivant :
import shlex
result = shlex.split('this is "a test"')
La variable résultat contiendra la liste suivante :
['this', 'is', 'a test']
Les espaces dans la sous-chaîne citée ("un test") ont été ignorés et le texte cité a été conservé en tant qu'élément unique.
Conservation des guillemets
Si vous souhaitez également conserver les guillemets eux-mêmes dans votre liste résultante, vous pouvez transmettre l'argument de mot-clé posix=False à shlex.split().
Pour exemple :
result = shlex.split('this is "a test"', posix=False)
Cela produira la liste suivante :
['this', 'is', '"a test"']
Les guillemets ont maintenant été conservés dans le cadre de la sortie.
Dans En conclusion, la fonction shlex.split() en Python offre un moyen pratique et efficace de diviser des chaînes par espaces tout en préservant l'intégrité des sous-chaînes citées. En utilisant l'argument de mot-clé posix=False, vous pouvez également conserver les guillemets dans votre liste résultante.
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!