📜  python 将句子拆分为单词 - Python (1)

📅  最后修改于: 2023-12-03 15:04:16.405000             🧑  作者: Mango

Python将句子拆分为单词

在自然语言处理中,经常需要将一句话拆分为单词,以方便后续的处理。Python提供了多种方法来实现这个功能,本文将介绍其中比较常用的几种方法。

使用split()函数

split()函数可以将字符串按指定分隔符分割成一个列表。默认分隔符是空格。我们可以将句子作为split()函数的参数,然后再将返回的列表保存下来。代码如下:

sentence = "Python将句子拆分为单词"
word_list = sentence.split()
print(word_list)

输出结果:

['Python将句子拆分为单词']

可以看到,返回的列表中只有一个元素,原因是默认分隔符是空格,而我们的句子中没有空格。

如果希望使用其他分隔符拆分句子,只需要在split()函数中指定即可。比如下面的代码使用逗号作为分隔符:

sentence = "Python,将,句子,拆分为,单词"
word_list = sentence.split(",")
print(word_list)

输出结果:

['Python', '将', '句子', '拆分为', '单词']
使用nltk库

nltk是Python中非常常用的自然语言处理库。使用nltk库的word_tokenize()函数可以将一句话按单词拆分成一个列表。需要先安装nltk库,然后执行下面的代码:

import nltk

nltk.download('punkt')

sentence = "Python将句子拆分为单词"
word_list = nltk.word_tokenize(sentence)
print(word_list)

输出结果:

['Python', '将', '句子', '拆分', '为', '单词']

可以看到返回的列表中包含了句子中的所有单词。

使用正则表达式

使用正则表达式也可以将句子按单词拆分成一个列表。同样需要先导入re库,然后执行下面的代码:

import re

sentence = "Python将句子拆分为单词"
word_list = re.findall(r'\b\w+\b', sentence)
print(word_list)

输出结果:

['Python', '将', '句子', '拆分', '为', '单词']

正则表达式\b\w+\b可以匹配句子中的单词。这里的\b表示单词的边界,\w表示字母和数字,+表示匹配前面的字符一个或多个。