Maison >développement back-end >Tutoriel Python >Programme Python pour imprimer la première lettre de chaque mot à l'aide d'expressions régulières

Programme Python pour imprimer la première lettre de chaque mot à l'aide d'expressions régulières

PHPz
PHPzavant
2023-09-04 17:01:091294parcourir

Programme Python pour imprimer la première lettre de chaque mot à laide dexpressions régulières

Bibliothèque d'expressions régulières en Python pour la correspondance de modèles et la manipulation de données textuelles. Nous pouvons utiliser des expressions régulières pour imprimer la première lettre de chaque mot en utilisant sa fonction de correspondance de motifs pour identifier les nouveaux mots après les espaces. Dans cet article, nous allons implémenter un programme qui imprime la première lettre de chaque mot à l'aide d'expressions régulières.

Expressions régulières

Les expressions régulières ou expressions régulières sont des outils permettant de faire correspondre des modèles dans le texte. Ce sont des séquences de caractères qui définissent un modèle de recherche. Ils sont largement utilisés en programmation, notamment en traitement de texte, et sont pris en charge par la plupart des langages de programmation, dont Python.

Imprimez la première lettre de chaque mot en utilisant des expressions régulières

Méthode 1 : utilisez la méthode findall()

Pour imprimer la première lettre de chaque mot à l'aide d'une expression régulière, nous devons d'abord importer le module re et créer une fonction appelée first_letter qui prend une chaîne comme paramètre. Dans la fonction first_letter, nous utilisons la méthode re.findall() pour trouver tous les mots de la chaîne. Le modèle d'expression régulière 'bw' est utilisé pour trouver le premier caractère de chaque mot. « b » est une limite de mot, qui correspond à la position entre un caractère de mot et un caractère autre qu'un mot. « w » correspond à n'importe quel caractère de mot (lettre, chiffre ou trait de soulignement).

La méthode

re.findall() renvoie une liste de tous les caractères d'un mot dans une chaîne. Ensuite, nous rejoignons la liste des caractères en utilisant la méthode join().

Grammaire

re.findall(pattern, string, flags=0)

Ici, la méthode « findall() » renvoie toutes les correspondances qui ne se chevauchent pas du modèle d'expression régulière dans la chaîne. Cette méthode prend trois paramètres : le modèle d'expression régulière, la chaîne à rechercher et les indicateurs facultatifs. Il renvoie une liste de toutes les correspondances.

string.join(iterable)

Ici, la méthode "join()" joint des éléments itérables (par exemple une liste, un tuple, une chaîne) en une seule chaîne, en utilisant la chaîne spécifiée comme séparateur entre chaque élément. Cette méthode prend un seul paramètre : l'objet itérable à concaténer.

re.finditer(pattern, string, flags=0)

Ici, la méthode « finder() » renvoie un itérateur d'objets de correspondance pour toutes les correspondances qui ne se chevauchent pas du modèle d'expression régulière dans la chaîne. Cette méthode prend trois paramètres : le modèle d'expression régulière, la chaîne à rechercher et les indicateurs facultatifs. Il renvoie un itérateur d'objets de correspondance qui peuvent être utilisés pour extraire les chaînes correspondantes.

re.split(pattern, string, maxsplit=0, flags=0)

Ici, la méthode « split() » divise la chaîne en une liste de sous-chaînes en utilisant un modèle d'expression régulière comme délimiteur. Cette méthode prend quatre paramètres : le modèle d'expression régulière, la chaîne à diviser, le nombre maximum de divisions (la valeur par défaut est 0, indiquant toutes les divisions possibles) et des indicateurs facultatifs. Il renvoie une liste de sous-chaînes.

Exemple 1

Dans l'exemple ci-dessous, nous créons une chaîne « Python est un langage de programmation populaire » et la transmettons à la fonction first_letter. La fonction renvoie ensuite la première lettre de chaque mot et nous pouvons ensuite joindre les caractères renvoyés à l'aide de la méthode join() et imprimer le résultat.

import re

def first_letter(string):
   words = re.findall(r'\b\w', string)
   return "".join(words)

string = "Python is a popular programming language"
result = first_letter(string)
print(result)

Sortie

Piappl

Exemple 2

Dans l'exemple ci-dessous, nous utilisons d'abord la méthode "re.split()" pour diviser la chaîne en une liste de mots en utilisant "W+" comme délimiteur. « W » correspond à n'importe quel caractère autre qu'un mot, « + » spécifie une ou plusieurs occurrences. Nous ajoutons également un filtre pour supprimer toutes les chaînes vides de la liste. Ensuite, nous utilisons une compréhension de liste pour extraire le premier caractère de chaque mot et le renvoyer sous forme de liste. Enfin, nous rejoignons la liste de caractères dans une chaîne en utilisant la méthode "str.join()".

import re

def first_letter(string):
   return ''.join([word[0] for word in re.split('\W+', string) if word])
    
string = "Python is a popular programming language"
result = first_letter(string)
print(result)

Sortie

Piappl

Exemple 3

Dans l'exemple ci-dessous, nous utilisons la méthode « re.finditer() » pour rechercher toutes les occurrences du modèle d'expression régulière « bw » dans une chaîne. Nous parcourons ensuite chaque correspondance et ajoutons le premier caractère à la chaîne résultante.

import re

def first_letter(string):
   result = ""
   for match in re.finditer(r'\b\w', string):
      result += match.group()
   return result

string = "Python is a popular programming language"
result = first_letter(string)
print(result)

Sortie

Piappl

Exemple 4

Dans l'exemple ci-dessous, nous utilisons la méthode "re.split()" pour diviser la chaîne en une liste de mots et de délimiteurs. Le modèle d'expression régulière "(W+)" correspond à une ou plusieurs occurrences de tout caractère autre qu'un mot "W". Les parenthèses capturent les délimiteurs dans des éléments distincts de la liste. Nous utilisons ensuite une compréhension de liste pour extraire le premier caractère de chaque mot et le renvoyer sous forme de liste. Enfin, nous rejoignons la liste de caractères dans une chaîne en utilisant la méthode "str.join()".

import re

def first_letter(string):
   return ''.join([word[0] for word in re.split(r'(\W+)', string) if word])

string = "Python is a popular programming language"
result = first_letter(string)
print(result)

Sortie

P i a p p l

Conclusion

Dans cet article, nous avons expliqué comment imprimer la première lettre de chaque mot à l'aide d'expressions régulières. Les expressions régulières sont des outils puissants pour la mise en correspondance de modèles sur des données texte. Pour imprimer la première lettre de chaque mot, nous utilisons la méthode re.findall() pour trouver le premier caractère du mot dans la chaîne, puis joignons chaque caractère à l'aide de la fonction join().

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer