从字符串中提取单词

Beginner

This tutorial is from open-source community. Access the source code

简介

在 Python 中,字符串是用单引号或双引号括起来的字符序列。有时,我们需要从字符串中提取单个单词。在这个挑战中,你要编写一个函数,该函数接受一个字符串并返回一个单词列表。

字符串转单词列表

编写一个函数 string_to_words(s: str, pattern: str = '[a-zA-Z-]+') -> List[str],该函数接受一个字符串 s 和一个可选的 pattern 字符串作为参数,并返回字符串中的单词列表。

  • 该函数应使用 re.findall() 和提供的 pattern 来查找所有匹配的子字符串。
  • 如果未提供 pattern 参数,函数应使用默认的正则表达式,该表达式匹配字母数字和连字符。
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']

总结

在这个挑战中,你学习了如何使用 Python 中的正则表达式从字符串中提取单个单词。现在,你可以使用这个函数将字符串拆分为单词,并对它们执行进一步的操作。