Python 如何拆分单词和标点符号上的字符串
我对Python比较陌生,有没有一种方法可以将字符串“James踢Bob的球,笑着跑了。”拆分为以下内容,因此我在列表项中有单词和标点符号。[“James”,“kicked”,“Bob的”,“ball”,“and”,“Rand”,“away”,“and”]。在python中有没有实现这一点的方法 您可以尝试以下方法:Python 如何拆分单词和标点符号上的字符串,python,split,Python,Split,我对Python比较陌生,有没有一种方法可以将字符串“James踢Bob的球,笑着跑了。”拆分为以下内容,因此我在列表项中有单词和标点符号。[“James”,“kicked”,“Bob的”,“ball”,“and”,“Rand”,“away”,“and”]。在python中有没有实现这一点的方法 您可以尝试以下方法: import re str = "James kicked Bob's ball, laughed and ran away." x = re.findall(r"[\w'
import re
str = "James kicked Bob's ball, laughed and ran away."
x = re.findall(r"[\w']+|[.,!?;]", str)
print(x)
输出:
['James', 'kicked', "Bob's", 'ball', ',', 'laughed', 'and', 'ran', 'away', '.']
['James', 'kicked', 'Bob', "'s", 'ball', ',', 'laughed', 'and', 'ran', 'away', '.']
您可以尝试以下方法:
import re
str = "James kicked Bob's ball, laughed and ran away."
x = re.findall(r"[\w']+|[.,!?;]", str)
print(x)
输出:
['James', 'kicked', "Bob's", 'ball', ',', 'laughed', 'and', 'ran', 'away', '.']
['James', 'kicked', 'Bob', "'s", 'ball', ',', 'laughed', 'and', 'ran', 'away', '.']
你似乎在试图把一个句子标记化。 一些标记器已经存在并且性能良好 例如,您可以使用。 安装后,您需要下载您的语言模型:
python -m spacy download en
然后您将能够在脚本中使用它:
import spacy
nlp = spacy.load('en')
tokens = list(nlp("James kicked Bob's ball, laughed and ran away."))
输出:
['James', 'kicked', "Bob's", 'ball', ',', 'laughed', 'and', 'ran', 'away', '.']
['James', 'kicked', 'Bob', "'s", 'ball', ',', 'laughed', 'and', 'ran', 'away', '.']
通过使用标记器,它将处理一些特殊情况。例如,句子
“我尝试过但失败了…”
将标记为[“我”、“尝试过”、“但是”、“它”、“失败了”、“失败了”]
。此处,末端的点仅作为一个标记组合在一起。同样地,“don”
被标记为['do',“n't”]
,而不是基本的['don',“'t”]
似乎你在试图标记一个句子。
一些标记器已经存在并且性能良好
例如,您可以使用。
安装后,您需要下载您的语言模型:
python -m spacy download en
然后您将能够在脚本中使用它:
import spacy
nlp = spacy.load('en')
tokens = list(nlp("James kicked Bob's ball, laughed and ran away."))
输出:
['James', 'kicked', "Bob's", 'ball', ',', 'laughed', 'and', 'ran', 'away', '.']
['James', 'kicked', 'Bob', "'s", 'ball', ',', 'laughed', 'and', 'ran', 'away', '.']
通过使用标记器,它将处理一些特殊情况。例如,句子
“我尝试过但失败了…”
将标记为[“我”、“尝试过”、“但是”、“它”、“失败了”、“失败了”]
。此处,末端的点仅作为一个标记组合在一起。同样地,“don”
被标记为['do',“n't”]
而不是基本的['don',“'t”]
在ball
和,
之间是否有空格??您想要“,”作为单独的单词,而不是单个引号(')?我说的对吗?ball
和,
之间是否有空格?您希望“,”和“.”作为单独的单词,而不是单独的引号(')?我说得对吗?