Maison >développement back-end >Tutoriel Python >Comment puis-je compter les occurrences de sous-chaînes en Python, y compris les instances qui se chevauchent ?
En Python, compter les occurrences d'une sous-chaîne particulière dans une chaîne est une tâche courante. Voici comment y parvenir :
La méthode str.count(substring) fournit une approche simple pour compter les occurrences de sous-chaîne. Il renvoie le nombre d'instances de sous-chaîne qui ne se chevauchent pas dans la chaîne. Par exemple :
>>> 'foo bar foo'.count('foo') 2
Cette méthode parcourt efficacement la chaîne et incrémente un compteur chaque fois qu'elle rencontre la sous-chaîne spécifiée. Cependant, il est crucial de noter qu'il ne prend en compte que les occurrences qui ne se chevauchent pas.
Si vous avez besoin du nombre de sous-chaînes qui se chevauchent, vous devrez explorer des approches alternatives. Une option consiste à exploiter la puissance des expressions régulières :
import re pattern = re.compile('(substring)') count = len(re.findall(pattern, 'this is a substring test'))
Cette méthode utilise un modèle d'expression régulière pour faire correspondre toutes les occurrences de la sous-chaîne, y compris celles qui se chevauchent. Il capture les correspondances sous forme de liste et renvoie le décompte.
Qu'il s'agisse de compter les occurrences de sous-chaînes qui ne se chevauchent pas ou qui se chevauchent, la méthode str.count() et les expressions régulières fournissent des solutions efficaces pour cette tâche de programmation commune.
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!