在处理文本时,会遇到需要将文本以 句子 为单位进行切分(分句)的场景,而文本又可以分为 中文文本 和 英文文本 ,处理的方法会略有不同。本文会介绍 Python 是如何处理 分句 的。

分句的关键是找到合适的结束符号,比如:中文里的 。,英文里的 . 等,而且,在这一点上中英也是有很大区分的。

这里介绍一种纯用 Python 实现的分句函数。def cut_sentences(content):

# 结束符号,包含中文和英文的

end_flag = ['?', '!', '.', '?', '!', '。', '…']

content_len = len(content)

sentences = []

tmp_char = ''

for idx, char in enumerate(content):

# 拼接字符

tmp_char += char

# 判断是否已经到了最后一位

if (idx + 1) == content_len:

sentences.append(tmp_char)

break

# 判断此字符是否为结束符号

if char in end_flag:

# 再判断下一个字符是否为结束符号,如果不是结束符号,则切分句子

next_idx = idx + 1

if not content[next_idx] in end_flag:

sentences.append(tmp_char)

tmp_char = ''

return sentences

content = '在处理文本时,会遇到需要将文本以 句子 为单位进行切分(分句)的场景,而文本又可以分为 中文文本 和 英文文本 ,处理的方法会略有不同。本文会介绍 Python 是如何处理 分句 的。'

sentences = cut_sentences(content)

print('\n\n'.join(sentences))

在处理文本时,会遇到需要将文本以 句子 为单位进行切分(分句)的场景,而文本又可以分为 中文文本 和 英文文本 ,处理的方法会略有不同。

本文会介绍 Python 是如何处理 分句 的。

这个函数可以通过修改 end_flag (结束符号),来自定义特定的句子切分方式,比如加入 ; 等符号。

当然,也可以用正则表达式来完成分句,使用 re.split 的方法。import re

def cut_sentences(content):

sentences = re.split(r'(\.|\!|\?|。|!|?|\.{6})', content)

return sentences

content = content = '在处理文本时,会遇到需要将文本以 句子 为单位进行切分(分句)的场景,而文本又可以分为 中文文本 和 英文文本 ,处理的方法会略有不同。本文会介绍 Python 是如何处理 分句 的。'

sentences = cut_sentences(content)

print('\n\n'.join(sentences))

在处理文本时,会遇到需要将文本以 句子 为单位进行切分(分句)的场景,而文本又可以分为 中文文本 和 英文文本 ,处理的方法会略有不同。

本文会介绍 Python 是如何处理 分句 的。

python语句分为什么语句_在python中如何分句相关推荐

  1. python语句分为复合语句与_对Python中for复合语句的使用示例讲解

    当Python中用到双重for循环设计的时候我一般会使用循环的嵌套,但是在Python中其实还存在另一种技巧--for复合语句. 简单写一个小程序,用于延时循环嵌套功能如下: #!/usr/bin/p ...

  2. python基础教程读书笔记_《Python基础教程》 读书笔记 第五章(下)循环语句

    导读热词 5.5.1while循环 x=1 while x<=100: print x x+=1 确保用户输入了名字: name="" while not name: nam ...

  3. python第一行左对齐_关于Python的第一行语句

    通常在脚本语言的第一行会看到#!/usr/bin/env python 与 #!/usr/bin/python其中之一,这两句话的目的都是指出你的python文件用什么可执行程序去运行它. #!/us ...

  4. python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...

    2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...

  5. 88是python语言的整数类型_少儿Python编程_第三讲:常量变量和数据类型

    无论使用哪一种编程语言,甚至是学习数学.物理,都需要掌握常量.变量.表达式的概念和用法.本讲将带领读者进入编程世界,学习程序的基本元素. 3.1 基本数据类型 基本数据类型有数值型.布尔型和字符型.它 ...

  6. python软件安装及设置_入门Python——1.软件安装与基础语法

    周末在家闲来无事,学了下Python.怕看过一遍就忘了,这里mark下. 一.Python的应用场景 1.网站开发 2.人工智能 机器学习 3.数据科学(如爬虫) 4.其它(绘图.图像处理) 二.软件 ...

  7. python打印自动换行如何解决_解决python DataFrame 打印结果不换行问题

    解决python DataFrame 打印结果不换行问题 如下所示: 加入代码: pd.set_option('display.width', 5000) 补充知识:Python 实现不换行打印字符的 ...

  8. python基础知心得总结_【python】基础学习心得总结(一)

    本文将简单阐述一些基本的python知识点,大多是本人在学习过程中的心得体会.简单常用的编程概念和思想将不再描述.若有理解错误,还望指正. 一.python运行,调试 python和相关软件可以在官网 ...

  9. python 二维列表从小到大_给Python开发者准备的110道面试题

    信息量非常大!这是给Python开发者准备的110道笔试面试题,我只把问题列出来了,答案见文末,建议每道题都要认真刷一遍,有些题可以尝试用多种方式来解答,甚至做延伸学习,说真的,很多题都可以单独拎出来 ...

  10. python变量类型之间转换_【Python】Python 变量类型(变量赋值,数据类型,数据转换)...

    目录 Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中.因此,变量可以指定不同的数 ...

最新文章

  1. 【微信小程序】之如何创建底部菜单?tabBar、mp-tabbar
  2. 用“脸”打卡,抬头就能签到!
  3. JSON In Code
  4. 数据库经典书籍--SQL必知必会
  5. PDH-SDH光端机指示灯具体含义介绍
  6. java读取sh脚本_linux环境下java读取sh脚本并执行
  7. 持续集成部署Jenkins工作笔记0009---创建SVN版本库并提交Maven工程
  8. 君信财富获数千万元战略投资,投资方为银江集团
  9. docker的源配置
  10. 在Debian下安装LAMP
  11. 杰·亚伯拉罕的产品营销35种策略完整版
  12. python图像光谱视觉分析库-imgvision
  13. linux iptables实现单机多ip出口ip负载均衡(宽带叠加)
  14. oracle中lob类型学习
  15. RLC串联电路的谐振相关参数计算
  16. HRBUSTOJ 1313 火影忍者之~静音 【模拟】【排序】
  17. Asp-Net-Core开发笔记:集成Hangfire实现异步任务队列和定时任务
  18. 【日常积累】实验室作业Socket实现多个客户端相互通信。
  19. 浅析贝叶斯神经网络(Based on Variational Bayesian)
  20. 旋转不变性、尺度不变性

热门文章

  1. python文件运行哪一个_如何使一个python文件运行另一个?
  2. windows10安装mysql 8.0_手把手教你在Windows 10安装MySQL 8.0(详细图文)
  3. 儿童python编程能给孩子带来哪些好处_python编程入门学习对孩子成长有哪些优势?...
  4. java jtree_Java JTree
  5. android官方文档中文版_Now in Android:01 - 如何掌握最新的 Android 技术?
  6. [渝粤教育] 西南政法大学 法理学 参考 资料
  7. [渝粤教育] 西南科技大学 英美文学 在线考试复习资料
  8. 【渝粤题库】广东开放大学民法 形成性考核
  9. Android 21mod,熊猫博士小镇合集 Mod
  10. linux结束所有任务命令行,Linux基础命令(15)定时任务