Ce face re.split()
re.split() funcționează ca str.split(), dar separatorul este o expresie regulată: poți tăia după virgulă sau punct și virgulă, după orice număr de spații etc.
Dacă modelul conține grupuri capturate, separatorii găsiți apar și ei în rezultat. maxsplit limitează numărul de tăieturi; din Python 3.13 trebuie dat cu nume. Pattern.split() este varianta pentru modele compilate.
Parametri
| Parametru | Descriere |
|---|---|
model |
Expresia regulată pentru separator. |
text |
Textul împărțit. |
maxsplit |
Opțional, cu nume. Numărul maxim de tăieturi. |
flags |
Opțional, cu nume. Flag-uri. |
Ce returnează
O listă de texte.
Exemple
Exemplul 1: Mai mulți separatori
import re
print(re.split(r"[,;]\s*", "mere, pere;prune ; caise"))
print(re.split(r"\s*[,;]\s*", "mere, pere;prune ; caise"))
print(re.split(r"(\d)", "a1b2c"))
print(re.split(r"\W+", "Salut, lume! Ce faci?", maxsplit=2))
Rezultat
['mere', 'pere', 'prune ', 'caise']
['mere', 'pere', 'prune', 'caise']
['a', '1', 'b', '2', 'c']
['Salut', 'lume', 'Ce faci?']
Greșeli frecvente
- Te miri că separatorii apar în listă. Ai folosit un grup
( ); pentru grupare fără captură scrie(?: ).
Comenzi înrudite
str.split() și str.rsplit(): Împarte un text într-o listă de bucăți, după un separator.re.sub() și re.subn(): Înlocuiește toate potrivirile unui model cu un text sau cu rezultatul unei funcții.re.findall(): Returnează lista tuturor potrivirilor unui model într-un text.