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

PHPz
Libérer: 2023-09-04 17:01:09
avant
1245 Les gens l'ont consulté

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

Sortie

Piappl
Copier après la connexion
Copier après la connexion
Copier après la connexion

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)
Copier après la connexion

Sortie

Piappl
Copier après la connexion
Copier après la connexion
Copier après la connexion

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)
Copier après la connexion

Sortie

Piappl
Copier après la connexion
Copier après la connexion
Copier après la connexion

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)
Copier après la connexion

Sortie

P i a p p l
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!