Merge branch ‘master’ of https://gitlink.org.cn/stevierv/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。
start
end
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。
可以复制、使用、修改和分发这份代码,包括用于商业目的。再分发时需要向接收者提供本许可证副本,并保留软件中的版权、商标、专利及免责声明。软件按现状提供,不带任何明示或默示担保。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
clause-span
把一段文字按句末标点切成片段,并给出每个片段在原文里的字符区间。没有第三方依赖。
使用
start含首字符,end不含尾后一位,与 Python 切片一致:text[span.start:span.end] == span.text。切分规则:
。!?;!?,都会结束当前片段,标点本身留在前一个片段里。.和分号;只有在后面是空白、或已经到字符串末尾时才切分,因此3.14不会被切开。运行检查:
许可证
本项目采用木兰宽松许可证第 2 版(Mulan PSL v2)。全文见 LICENSE,许可文本也可在 http://license.coscl.org.cn/MulanPSL2 查看。
版权人:孙铭扬,2026。
可以复制、使用、修改和分发这份代码,包括用于商业目的。再分发时需要向接收者提供本许可证副本,并保留软件中的版权、商标、专利及免责声明。软件按现状提供,不带任何明示或默示担保。