Introduction
En Python, une chaîne de caractères est une séquence de caractères entourée de guillemets simples ou doubles. Parfois, nous devons extraire des mots individuels d'une chaîne de caractères. Dans ce défi, vous êtes chargé d'écrire une fonction qui prend une chaîne de caractères et renvoie une liste de mots.
Chaîne de caractères en mots
Écrivez une fonction string_to_words(s: str, pattern: str = '[a-zA-Z-]+') -> List[str] qui prend une chaîne de caractères s et une chaîne de caractères pattern optionnelle en arguments et renvoie une liste de mots dans la chaîne.
- La fonction devrait utiliser
re.findall()avec lepatternfourni pour trouver toutes les sous-chaînes correspondantes. - Si l'argument
patternn'est pas fourni, la fonction devrait utiliser l'expression rationnelle par défaut, qui correspond aux caractères alphanumériques et aux tirets.
import re
def words(s, pattern = '[a-zA-Z-]+'):
return re.findall(pattern, s)
words('I love Python!!') ## ['I', 'love', 'Python']
words('python, javaScript & coffee') ## ['python', 'javaScript', 'coffee']
words('build -q --out one-item', r'\b[a-zA-Z-]+\b')
## ['build', 'q', 'out', 'one-item']
Résumé
Dans ce défi, vous avez appris à extraire des mots individuels d'une chaîne de caractères à l'aide d'expressions rationnelles en Python. Vous pouvez désormais utiliser cette fonction pour diviser une chaîne de caractères en mots et effectuer d'autres opérations sur eux.