Maison >développement back-end >Tutoriel Python >Comment obtenir le Nième mot dans une chaîne donnée en utilisant Python ?

Comment obtenir le Nième mot dans une chaîne donnée en utilisant Python ?

WBOY
WBOYavant
2023-08-29 19:41:031295parcourir

Comment obtenir le Nième mot dans une chaîne donnée en utilisant Python ?

Nous pouvons obtenir le Nième mot d'une chaîne donnée en Python en utilisant le fractionnement de chaîne, les expressions régulières, la méthode split(), etc. La manipulation de chaînes est une tâche courante en programmation, et extraire des mots spécifiques d'une chaîne peut être particulièrement utile dans divers scénarios. Dans cet article, nous explorerons différentes méthodes pour extraire le Nième mot d'une chaîne donnée à l'aide de Python.

Méthode 1 : séparation des chaînes

Cette méthode consiste à diviser la chaîne en une liste de mots et à accéder au mot souhaité en fonction de l'index.

Syntaxe

words = string.split()

Ici, la méthode split() divise la chaîne en fonction des espaces par défaut. Les mots résultants sont stockés dans la liste de mots.

Algorithme

  • Acceptez la chaîne d'entrée et la valeur de N.

  • Utilisez la méthode split() pour diviser une chaîne en une liste de mots.

  • Accédez au Nième mot de la liste en utilisant l'indexation.

  • Accédez au Nième mot de la liste en utilisant l'indexation.

Exemple

Considérons la chaîne suivante : "Le renard brun rapide saute par-dessus le chien paresseux." Dans l'exemple suivant, la chaîne d'entrée est divisée en une liste de mots à l'aide de la méthode split(). Puisque la valeur de N est 3, la fonction renvoie le troisième mot, « marron ».

def get_nth_word_split(string, n):
    words = string.split()
    if 1 <= n <= len(words):
        return words[n-1]
    else:
        return "Invalid value of N."

# Test the function
input_string = "The quick brown fox jumps over the lazy dog."
n = 3
print(get_nth_word_split(input_string, n))

Sortie

brown

Méthode 2 : Utiliser des expressions régulières

Une autre méthode pour extraire le Nième mot consiste à utiliser des expressions régulières. Cette approche offre une flexibilité dans la gestion de différents modèles de mots et délimiteurs.

Syntaxe

import re
words = re.findall(pattern, string)

Ici, utilisez la fonction re.findall() du module re pour extraire tous les mots de la chaîne d'entrée en fonction du modèle spécifié. Les modèles sont définis à l'aide d'expressions régulières. Les mots extraits sont stockés dans la liste de mots.

Algorithme

  • Importez le module re.

  • Acceptez la chaîne d'entrée et la valeur de N.

  • Définissez un modèle d'expression régulière pour faire correspondre les mots.

  • Utilisez la fonction findall() du module re pour extraire tous les mots de la chaîne.

  • Accédez au Nième mot de la liste obtenue à l'étape 4 en utilisant l'indexation.

  • Renvoyer le Nième mot.

Exemple

Dans l'exemple ci-dessous, le modèle d'expression régulière 'w+' est utilisé pour faire correspondre tous les mots de la chaîne d'entrée. La fonction findall() extrait tous les mots et les stocke dans une liste. Puisque la valeur de N est 4, la fonction renvoie le quatrième mot « sauts ».

import re

def get_nth_word_regex(string, n):
    pattern = r'\w+'
    words = re.findall(pattern, string)
    if 1 <= n <= len(words):
        return words[n-1]
    else:
        return "Invalid value of N."

# Test the function
input_string = "The quick brown fox jumps over the lazy dog."
n = 4
print(get_nth_word_regex(input_string, n))

Sortie

fox

Méthode 3 : utilisez la méthode split() et le séparateur personnalisé

Dans certains cas, la chaîne peut avoir un délimiteur spécifique autre que les espaces. Dans de tels scénarios, nous pouvons modifier la première méthode en spécifiant un délimiteur personnalisé pour diviser la chaîne.

Syntaxe

words = string.split(delimiter)

Ici, la méthode split() est utilisée pour diviser la chaîne d'entrée en une liste de mots basée sur un délimiteur personnalisé. Le délimiteur est passé en paramètre à la méthode split(). Les mots divisés sont stockés dans la liste de mots.

Algorithme

  • Acceptez la chaîne d'entrée, le délimiteur et la valeur de N.

  • Divisez la chaîne en une liste de mots à l'aide de la méthode split() et d'un délimiteur personnalisé.

  • Accédez au Nième mot de la liste en utilisant l'indexation

  • Renvoyer le Nième mot.

Exemple

Dans l'exemple ci-dessous, la chaîne est divisée en mots à l'aide d'un délimiteur personnalisé (virgule ","). Le deuxième mot « banane » est extrait et renvoyé car il correspond à une valeur de N de 2.

def get_nth_word_custom_delimiter(string, delimiter, n):
    words = string.split(delimiter)
    if 1 <= n <= len(words):
        return words[n-1]
    else:
        return "Invalid value of N."

# Test the function
input_string = "apple,banana,orange,mango"
delimiter = ","
n = 2
print(get_nth_word_custom_delimiter(input_string, delimiter, n))

Sortie

banana

Conclusion

Dans cet article, nous avons expliqué comment obtenir le nième mot dans une chaîne donnée à l'aide du fractionnement d'une chaîne, en utilisant des expressions régulières et en utilisant la méthode de fractionnement avec un délimiteur personnalisé. Chaque méthode offre une flexibilité basée sur les exigences de la tâche. En comprenant et en mettant en œuvre ces techniques, vous pouvez extraire efficacement des mots spécifiques des chaînes de votre programme Python.

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