Comment diviser des chaînes par espaces tout en préservant les sous-chaînes citées en Python ?

Susan Sarandon
Libérer: 2024-11-05 00:46:02
original
954 Les gens l'ont consulté

How to Split Strings by Spaces While Preserving Quoted Substrings in 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"
Copier après la connexion

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"')
Copier après la connexion

La variable résultat contiendra la liste suivante :

['this', 'is', 'a test']
Copier après la connexion

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)
Copier après la connexion

Cela produira la liste suivante :

['this', 'is', '"a test"']
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!