Maison > développement back-end > Tutoriel Python > Comment diviser une chaîne Python en une liste à l'aide de plusieurs délimiteurs

Comment diviser une chaîne Python en une liste à l'aide de plusieurs délimiteurs

PHPz
Libérer: 2023-05-04 13:10:06
avant
1792 Les gens l'ont consulté

Les chaînes de Python ont une division par défaut pour diviser la chaîne en une liste :

>>> test_str = "hello world,nice to meet you"
>>> test_str.split(',')
['hello world', 'nice to meet you']
>>> test_str.split(' ')
['hello', 'world,nice', 'to', 'meet', 'you']
Copier après la connexion

Que dois-je faire si je veux que la chaîne ci-dessus soit divisée en la liste suivante en fonction des virgules et des espaces en même temps ?

['hello', 'world', 'nice', 'to', 'meet', 'you']

À ce moment-là, la division de re peut s'avérer utile, elle peut correspondre à l'expression régulière Les motifs sont utilisés comme séparateurs.

>>> import re
>>> test_str = "hello world,nice to meet you"
>>> re.split('[,| ]', test_str)
['hello', 'world', 'nice', 'to', 'meet', 'you']
>>> re.split('[, ]', test_str)
['hello', 'world', 'nice', 'to', 'meet', 'you']
>>> re.split(',| ', test_str)
['hello', 'world', 'nice', 'to', 'meet', 'you']
Copier après la connexion

En fait, re.sub et str.replace des chaînes sont similaires, re.sub peut remplacer plusieurs parties qui répondent à une correspondance régulière en même temps, pas seulement une chaîne fixe.

Supplément : série de partitions

Les méthodes de série de partitions incluent partition () et rpartition ().
partition () divise la chaîne en fonction du séparateur spécifié (sep), commence l'indexation du séparateur à partir du côté gauche de la chaîne, arrête l'indexation lorsque l'index est atteint et renvoie un tuple contenant trois éléments, c'est-à-dire (head, sep, queue) .

# 遇到第一个分隔符后就停止索引
print(Str.partition('e'))
# 没有遇到分隔符 , 返回原字符串和两个空字符串
print(Str.partition('f'))
 
# 遇 到 第 一 个 分 隔 符 后 就 停 止 索 引
print(Str.rpartition('e'))
# 没 有 遇 到 分 隔 符 , 返 回 两 个 空 字 符 串 和 原 字 符 串
print(Str.rpartition('f'))
Copier après la connexion

rpartition () fonctionne de la même manière que partition (), sauf qu'il se divise à partir de la fin de la chaîne.

La différence entre les méthodes de division et de partition en série

méthode

Type de retour Contient-il des délimiteurs
méthode de série divisée list(list) Non
série de partitions méthodes tuple(tuple) est

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!

Étiquettes associées:
source:yisu.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal