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 ce qui suit code :
import shlex
result = shlex.split('this is "a test"')
La variable de 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 de la citation Marques
Si vous souhaitez également conserver les guillemets eux-mêmes dans la liste résultante, vous pouvez transmettre l'argument de mot-clé posix=False à shlex.split().
Par exemple :
result = shlex.split('this is "a test"', posix=False)
Cela produira la liste suivante :
['this', 'is', '"a test"']
Les guillemets ont maintenant a été préservé dans le cadre de la sortie.
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.
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