Python实现字符串分词的多种方法

 更新时间:2026年01月18日 14:48:44   作者:小满大王i  
这篇文章主要介绍了多种在Python中实现字符串分词的方法,包括内置的split()方法、正则表达式分词、jieba中文分词、NLTK英文分词、自定义分词函数以及spaCy工业级NLP库,根据不同的语言和需求,选择合适的工具进行字符串分词,需要的朋友可以参考下

在Python中,有多种方法可以实现字符串分词(将字符串分割成词语或标记)。以下是几种常见的实现方式:

1. 使用内置的split()方法

最简单的分词方法是使用字符串的split()方法,默认按空白字符分割:

text = "Python是一种流行的编程语言"
words = text.split()  # 默认按空白字符分割
print(words)  # 输出: ['Python是一种流行的编程语言'] (中文需要特殊处理)

# 对于英文,效果更好
english_text = "Python is a popular programming language"
print(english_text.split())  # 输出: ['Python', 'is', 'a', 'popular', 'programming', 'language']

2. 使用正则表达式分割

对于更复杂的分割需求,可以使用re模块:

import re

text = "Python是一种流行的编程语言,适合数据分析、AI开发等。"
words = re.findall(r'\w+', text)  # 匹配字母、数字和下划线
print(words)  # 输出: ['Python', '是', '一种', '流行', '的', '编程语言', '适合', '数据分析', 'AI', '开发', '等']

# 对于英文,可以分割标点符号
english_text = "Hello, world! How are you?"
print(re.findall(r"[a-zA-Z']+", english_text))  # 输出: ['Hello', 'world', 'How', 'are', 'you']

3. 使用jieba分词(中文专用)

对于中文分词,推荐使用jieba库:

# 先安装jieba: pip install jieba
import jieba

text = "Python是一种流行的编程语言,适合数据分析、AI开发等。"
words = jieba.lcut(text)  # 精确模式
print(words)
# 输出: ['Python', '是', '一种', '流行', '的', '编程语言', ',', '适合', '数据分析', '、', 'AI', '开发', '等', '。']

# 也可以使用全模式
print(jieba.lcut(text, cut_all=True))

4. 使用NLTK(英文自然语言处理)

对于英文文本处理,可以使用NLTK库:

# 先安装nltk: pip install nltk
import nltk
nltk.download('punkt')  # 第一次使用需要下载数据

from nltk.tokenize import word_tokenize

text = "Python is a popular programming language for data analysis and AI development."
words = word_tokenize(text)
print(words)
# 输出: ['Python', 'is', 'a', 'popular', 'programming', 'language', 'for', 'data', 'analysis', 'and', 'AI', 'development', '.']

5. 自定义分词函数

你也可以根据需要编写自定义分词函数:

def simple_tokenizer(text, delimiters=None):
    if delimiters is None:
        delimiters = ' \t\n\r\f\v,.;:!?'
    import re
    regex_pattern = '|'.join(map(re.escape, delimiters))
    return re.split(regex_pattern, text)

text = "Python is great, isn't it?"
print(simple_tokenizer(text))
# 输出: ['Python', 'is', 'great', '', "isn't", 'it', '']

6. 使用spaCy(工业级NLP库)

spaCy是一个强大的NLP库,支持多种语言:

# 先安装spaCy和语言模型: pip install spacy, python -m spacy download en_core_web_sm
import spacy

nlp = spacy.load("en_core_web_sm")  # 英文模型
text = "Python is a popular programming language for AI."
doc = nlp(text)
words = [token.text for token in doc]
print(words)
# 输出: ['Python', 'is', 'a', 'popular', 'programming', 'language', 'for', 'AI', '.']

选择建议

  • 对于英文:内置split()renltk/spaCy
  • 对于中文jieba是最常用的选择
  • 对于多语言高级NLP任务spaCy是更好的选择

根据你的具体需求(是否需要处理停用词、词性标注、命名实体识别等)选择合适的工具。

到此这篇关于Python实现字符串分词的多种方法的文章就介绍到这了,更多相关Python字符串分词方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用python绘制二维图形示例

    使用python绘制二维图形示例

    今天小编就为大家分享一篇使用python绘制二维图形示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 解决python中import文件夹下面py文件报错问题

    解决python中import文件夹下面py文件报错问题

    这篇文章主要介绍了解决python中import文件夹下面py文件报错问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python实战之利用Geopandas算出每个省面积

    Python实战之利用Geopandas算出每个省面积

    GeoPandas是一个基于pandas,针对地理数据做了特别支持的第三方模块。本文将利用GeoPandas计算出每个省的面积,感兴趣的小伙伴快跟随小编一起学习一下吧
    2021-12-12
  • 借助OpenClaw实现快速生成Python脚本并调试BUG

    借助OpenClaw实现快速生成Python脚本并调试BUG

    在软件开发的征途中,开发者们始终在与两个永恒的挑战角力:如何更快地构建功能以及如何更有效地消灭程序中的BUG,下面我们就来看看OpenClaw如何通过其核心技能快速生成Python脚本并高效调试BUG,帮助开发者专注于更具创造性的工作
    2026-03-03
  • 详解python实现可视化的MD5、sha256哈希加密小工具

    详解python实现可视化的MD5、sha256哈希加密小工具

    这篇文章主要介绍了详解python实现可视化的MD5、sha256哈希加密小工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • python常用数据结构字典梳理

    python常用数据结构字典梳理

    这篇文章主要介绍了python常用数据结构字典梳理,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • python 3.6.4 安装配置方法图文教程

    python 3.6.4 安装配置方法图文教程

    这篇文章主要为大家详细介绍了python 3.6.4 安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • python用opencv 图像傅里叶变换

    python用opencv 图像傅里叶变换

    这篇文章主要介绍了python用opencv 图像傅里叶变换的方法,帮助大家更好的利用python处理图片,感兴趣的朋友可以了解下
    2021-01-01
  • python调用webservice接口的实现

    python调用webservice接口的实现

    这篇文章主要介绍了python调用webservice接口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python yaml格式配置文件操作实战教程

    Python yaml格式配置文件操作实战教程

    yaml是专门用来写配置文件的语言,非常简洁和强大,用ini也能写配置文件,看了yaml后,发现这个更直观,更方便,有点类似于json格式,这篇文章主要介绍了Python yaml格式配置文件操作的相关资料,需要的朋友可以参考下
    2025-11-11

最新评论