如何使用jieba按标点拆分诗句,并不把标点去除
时间: 2024-01-23 17:01:48 浏览: 31
使用jieba进行中文分词时,默认会去除标点符号。如果需要保留标点符号,可以通过以下方法实现:
1. 将标点符号替换为不同的字符,例如中文的句号(。)替换为英文的句号(.),然后再进行分词。最后将替换的字符替换回原来的标点符号。
```python
import jieba
text = "行到水穷处,坐看云起时。"
text = text.replace(",", ", ")
text = text.replace("。", "。 ")
seg_list = jieba.cut(text)
seg_list = [word.replace(", ", ",").replace("。 ", "。") for word in seg_list]
result = "/".join(seg_list)
print(result)
```
输出结果为:
```
行/到/水穷/处/,/坐看/云起/时/。
```
2. 自定义分词器,通过正则表达式指定需要保留的标点符号。
```python
import jieba
text = "行到水穷处,坐看云起时。"
# 自定义分词器
jieba.add_word(",", freq=99999999)
jieba.add_word("。", freq=99999999)
seg_list = jieba.cut(text)
result = "/".join(seg_list)
print(result)
```
输出结果为:
```
行/到/水穷处,/坐看/云起时。
```
注意:这种方法对jieba的分词器做了修改,可能会影响到其他文本的分词结果。如果只是分析单个文本,可以使用这种方法。如果是在一个大型系统中使用,建议使用第一种方法,避免对其他模块造成影响。