我正在尝试使用 python 将字符串转换为单词列表。我想采取类似以下的内容:
string = 'This is a string, with words!'
然后转换成这样的东西:
list = ['This', 'is', 'a', 'string', 'with', 'words']
注意标点符号和空格的省略。最快的方法是什么?
原文由 rectangletangle 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试使用 python 将字符串转换为单词列表。我想采取类似以下的内容:
string = 'This is a string, with words!'
然后转换成这样的东西:
list = ['This', 'is', 'a', 'string', 'with', 'words']
注意标点符号和空格的省略。最快的方法是什么?
原文由 rectangletangle 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.3k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答955 阅读✓ 已解决
试试这个:
怎么运行的:
从文档:
返回通过用替换 repl 替换 string 中最左边非重叠出现的 pattern 获得的字符串。如果未找到模式,则返回未更改的字符串。 repl 可以是字符串或函数。
所以在我们的例子中:
pattern 是任何非字母数字字符。
[\w] 表示任意字母数字字符,等于字符集 [a-zA-Z0-9_]
a 到 z、A 到 Z、0 到 9 和下划线。
所以我们匹配任何非字母数字字符并将其替换为空格。
然后我们 split() 它按空格拆分字符串并将其转换为列表
所以’你好世界’
变成“你好世界”
与 re.sub
然后 [‘你好’ , ‘世界’]
拆分后()
如果有任何疑问,请告诉我。