Une tâche de programmation fréquente consiste à déterminer le nombre de fois qu'une sous-chaîne spécifique apparaît dans une chaîne plus grande. Python fournit plusieurs méthodes pour accomplir efficacement cette tâche.
Une approche simple consiste à utiliser la méthode string.count(). Cette méthode prend la sous-chaîne comme argument et renvoie le nombre d'occurrences dans la chaîne. Par exemple :
>>> 'foo bar foo'.count('foo') 2
Cette méthode compte également deux occurrences consécutives qui se chevauchent de la sous-chaîne. Si cela n'est pas souhaitable, vous pouvez envisager d'autres options.
Si vous devez tenir compte des occurrences qui se chevauchent, une implémentation personnalisée utilisant une approche de fenêtre glissante peut être utilisée. Voici un exemple :
def count_overlapping_occurrences(string, substring): count = 0 window_start = 0 window_end = len(substring) while window_end <= len(string): substring_occurrence = string[window_start:window_end] if substring_occurrence == substring: count += 1 window_start += 1 window_end += 1 return count >>> count_overlapping_occurrences('abcdabcva', 'ab') 4
En utilisant cette fonction, vous pouvez déterminer avec précision le nombre d'occurrences d'une sous-chaîne dans une chaîne, qu'elles se chevauchent ou non.
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!