目录

clause-span

把一段文字按句末标点切成片段,并给出每个片段在原文里的字符区间。没有第三方依赖。

使用

from clause_span import split_clauses

text = "先写一句。再写一句!"
for span in split_clauses(text):
    print(span.start, span.end, span.text)

start 含首字符,end 不含尾后一位,与 Python 切片一致:text[span.start:span.end] == span.text。

切分规则:

  • 换行,以及 。!?;!?,都会结束当前片段,标点本身留在前一个片段里。
  • 英文句号 . 和分号 ; 只有在后面是空白、或已经到字符串末尾时才切分,因此 3.14 不会被切开。
  • 只含空白的片段会丢掉。空字符串返回空列表。

运行检查:

python test_clause_span.py

许可证

本项目采用木兰宽松许可证第 2 版(Mulan PSL v2)。全文见 LICENSE,许可文本也可在 http://license.coscl.org.cn/MulanPSL2 查看。

版权人:孙铭扬,2026。

可以复制、使用、修改和分发这份代码,包括用于商业目的。再分发时需要向接收者提供本许可证副本,并保留软件中的版权、商标、专利及免责声明。软件按现状提供,不带任何明示或默示担保。

关于
33.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号