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简单网络编程,详细介绍了客户端与服务端的具体实现技巧与相关注意事项,需要的朋友可以参考下
    2017-05-05
  • python下os模块强大的重命名方法renames详解

    python下os模块强大的重命名方法renames详解

    这篇文章主要介绍了python下os模块强大的重命名方法renames详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • python版本的仿windows计划任务工具

    python版本的仿windows计划任务工具

    这篇文章主要介绍了python版本的仿windows计划任务工具,计划任务工具根据自己设定的具体时间,频率,命令等属性来规定所要执行的计划,当然功能不是很全大家可以补充
    2018-04-04
  • Python生成ubuntu apt镜像地址实现

    Python生成ubuntu apt镜像地址实现

    本文主要介绍了Python生成ubuntu apt镜像地址实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • python里运用私有属性和方法总结

    python里运用私有属性和方法总结

    在本文里我们给大家分享了关于python里运用私有属性和方法总结以及相关知识点内容,有兴趣的朋友们跟着参考学习下。
    2019-07-07
  • python网络编程:socketserver的基本使用方法实例分析

    python网络编程:socketserver的基本使用方法实例分析

    这篇文章主要介绍了python网络编程:socketserver的基本使用方法,结合实例形式分析了python网络编程中socketserver的基本功能、使用方法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • Python中装饰器的一个妙用

    Python中装饰器的一个妙用

    这篇文章主要介绍了Python中装饰器的一个妙用,本文是在写一个爬虫程序时总结而来,实现定义一个装饰器,如果之前取到数据,就直接取cache的数据,如果之前没有取到,那么就从网站拉取,并且存入cache中,需要的朋友可以参考下
    2015-02-02
  • pandas中的dataframe汇总和计算方法

    pandas中的dataframe汇总和计算方法

    这篇文章主要介绍了pandas中的dataframe汇总和计算方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Python文件操作方法详解

    Python文件操作方法详解

    这篇文章主要介绍了Python文件操作方法详解,需要的朋友可以参考下
    2020-02-02
  • Python实现在word中指定位置插入图片或表格

    Python实现在word中指定位置插入图片或表格

    这篇文章主要为大家详细介绍了Python如何使用python-docx实现在word中指定位置插入图片或表格,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-05-05

最新评论