Comment diviser les cordes en python

Comment diviser les cordes en python
Cet article expliquera comment diviser les chaînes dans Python en utilisant des méthodes «Split ()» et «Partition ()». Ces méthodes sont particulièrement utiles si vous souhaitez convertir une phrase ou un groupe de mots en types de python altéable et itérable. Tous les échantillons de code de ce guide sont testés avec Python version 3.8.6.

Méthode partagée

La méthode «Split ()» peut être utilisée pour diviser les mots à l'aide d'un séparateur spécifié par l'utilisateur. Il renvoie une liste de mots fendus sans inclure le séparateur. Si aucun séparateur n'est spécifié par l'utilisateur, Whitespace (un ou plusieurs) est utilisé comme séparateur unique.

Par exemple, le code ci-dessous renverra «[« Linux »,« Hint »]» en tant que sortie:

text = "Linux Hint"
texte.diviser()

Le code ci-dessous renverra «[« linuxhint »,« com »]» comme sortie lorsque «."Est utilisé comme séparateur:

text = "Linuxhint.com "
texte.diviser(".»)

Le séparateur n'a pas besoin d'être un seul caractère. La méthode divisée prend deux arguments:

  • Sep: séparateur à utiliser pour le séparation
  • maxsplit: nombre de divisions à faire

Ces deux arguments sont facultatifs. Comme mentionné ci-dessus, si l'argument «SEP» n'est pas spécifié, l'espace est utilisé comme séparateur pour se séparer. L'argument «maxsplit» a une valeur par défaut de «-1» et il divise toutes les occurrences par défaut. Considérez le code ci-dessous:

text = "Linuxhint.co.nous"
texte.diviser(".»)

Il renverra «[« Linuxhint »,« Co »,« US »» comme sortie. Si vous souhaitez arrêter de se séparer lors de la première occurrence du séparateur, spécifiez «1» comme l'argument «MaxSplit».

text = "Linuxhint.co.nous"
texte.diviser(".", 1)

Le code ci-dessus retournera «[« Linuxhint »,« CO.us '] ”comme sortie. Spécifiez simplement le nombre d'occurrences où vous voulez que le processus divisé s'arrête comme deuxième argument.

Notez que s'il existe des séparateurs consécutifs, une chaîne vide sera renvoyée pour les séparateurs restants après la première scission (lorsque l'argument «MaxSplit» n'est pas utilisé):

text = "Linuxhint… com"
texte.diviser(".")

Le code ci-dessus renverra «[« Linuxhint »,», «com»] »comme sortie. Dans le cas où vous souhaitez supprimer les chaînes vides de la liste résultante, vous pouvez utiliser l'instruction de compréhension de la liste suivante:

text = "Linuxhint… com"
résultat = texte.diviser(".")
résultat = [élément de l'élément dans le résultat si élément != ""]
Imprimer (résultat)

Vous obtiendrez «[« Linuxhint »,« com »]» comme sortie après avoir exécuté l'échantillon de code ci-dessus.

Notez que la méthode «Split ()» se déplace de gauche à droite pour diviser les cordes en mots. Si vous souhaitez diviser la chaîne de droite à gauche, utilisez «Rsplit ()» à la place. Sa syntaxe, son utilisation et ses arguments sont exactement les mêmes que la méthode «Split ()».

Si aucun séparateur n'est trouvé dans la chaîne lors de l'utilisation des méthodes «Split ()» ou «RSPlit ()», la chaîne d'origine est renvoyée comme l'élément de liste des seuls.

Méthode de partition

La méthode «partition ()» peut être utilisée pour diviser les chaînes et elle fonctionne identique à la méthode «Split ()» avec quelques différences. La différence la plus notable est qu'il conserve le séparateur et l'inclut comme un élément dans le tuple résultant contenant des mots divisés. Ceci est particulièrement utile si vous souhaitez diviser la chaîne en un objet itérable (tuple dans ce cas) sans supprimer de caractères originaux. Considérez le code ci-dessous:

text = "Linuxhint.com "
résultat = texte.cloison(".")
Imprimer (résultat)

L'échantillon de code ci-dessus retournera «(« Linuxhint », '.',' com ') "comme sortie. Si vous souhaitez que le résultat soit de type de liste, utilisez à la place l'échantillon de code suivant:

text = "Linuxhint.com "
result = liste (texte.cloison("."))
Imprimer (résultat)

Vous devriez obtenir «[« Linuxhint », '.',' com '] "comme sortie après l'exécution de l'échantillon de code ci-dessus.

La méthode «partition ()» ne prend qu'un seul argument appelé «Sep». Les utilisateurs peuvent spécifier un séparateur de n'importe quelle longueur. Contrairement à la méthode «Split ()», cet argument est obligatoire, vous ne pouvez donc pas omettre le séparateur. Cependant, vous pouvez spécifier un espace en tant que séparateur.

Notez que la méthode de partition s'arrête à la première occurrence du séparateur. Donc, si votre chaîne contient plusieurs séparateurs, la méthode «Partition ()» ignorera toutes les autres occurrences. Voici un exemple illustrant ceci:

text = "Linuxhint.co.nous"
result = liste (texte.cloison("."))
Imprimer (résultat)

L'échantillon de code produira «[« Linuxhint », '.',' CO.us '] ”comme sortie. Si vous souhaitez vous séparer à toutes les occurrences du séparateur et inclure également le séparateur dans la liste finale, vous devrez peut-être utiliser un modèle «Expression régulière» ou «regex». Pour l'exemple mentionné ci-dessus, vous pouvez utiliser un motif regex de la manière suivante:

Importer RE
text = "Linuxhint.co.nous"
résultat = re.diviser("(\.)", texte)
Imprimer (résultat)

Vous obtiendrez «[« Linuxhint », '.',' Co ','.',' us '] "comme sortie après avoir exécuté l'échantillon de code ci-dessus. Le caractère DOT a été échappé dans la déclaration regex mentionnée ci-dessus. Notez que bien que l'exemple ci-dessus fonctionne avec un seul caractère DOT, il peut ne pas fonctionner avec des séparateurs complexes et des chaînes complexes. Vous devrez peut-être définir votre propre modèle regex en fonction de votre cas d'utilisation. L'exemple vient d'être mentionné ici pour vous donner une idée du processus de conservation du séparateur dans la liste finale en utilisant les déclarations regex.

La méthode «partition ()» peut parfois laisser des cordes vides, surtout lorsque le séparateur ne se trouve pas dans la chaîne. Dans de tels cas, vous pouvez utiliser les instructions de compréhension de la liste pour supprimer les chaînes vides, comme expliqué dans la section de la méthode «Split ()» ci-dessus.

text = "Linuxhint"
result = liste (texte.cloison("."))
résultat = [élément de l'élément dans le résultat si élément != ""]
Imprimer (résultat)

Après avoir exécuté le code ci-dessus, vous devriez obtenir «[« Linuxhint »]» comme sortie.

Conclusion

Pour des divisions simples et simples, vous pouvez utiliser des méthodes «Split ()» et «Partition ()» pour obtenir des types itérables. Pour les chaînes et séparateurs complexes, vous devrez utiliser des instructions Regex.