Maison >développement back-end >Tutoriel Python >Comment puis-je diviser une chaîne par espaces tout en préservant les sous-chaînes entre guillemets en Python ?
Diviser une chaîne par espaces tout en préservant les sous-chaînes entre guillemets en Python
Lorsque vous travaillez avec des chaînes contenant à la fois des espaces et des guillemets, cela peut être difficile pour les diviser sans perdre l'intégrité des sous-chaînes citées. En Python, vous pourriez initialement envisager d'utiliser la méthode standard string.split(), mais cela séparerait la chaîne à chaque espace, quels que soient les guillemets.
Pour résoudre ce problème, Python fournit une solution pratique grâce à son shlex module, en particulier la fonction split(). La fonction split() vous permet de diviser une chaîne en fonction des espaces tout en ignorant ceux contenus dans les segments entre guillemets.
Considérez l'exemple de chaîne : "ceci est "un test"." Pour le diviser à l'aide de shlex.split(), appelez-le simplement avec la chaîne comme argument :
<code class="python">import shlex shlex.split('this is "a test"')</code>
Le résultat sera une liste de trois éléments : ['this', 'is', 'a test']. La sous-chaîne citée est conservée en tant qu'élément unique.
Vous pouvez personnaliser davantage le comportement de shlex.split() en passant l'argument de mot-clé posix=False. Cela l'empêchera de supprimer les guillemets autour de la sous-chaîne :
<code class="python">shlex.split('this is "a test"', posix=False)</code>
Dans ce cas, le résultat serait : ['this', 'is', '"a test"'].
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!