# !/user/bin/env python
# _*_ coding:utf-8 _*_
# author:Rachel
# time:2020/11/16
# content:包含split()、strip()、 jieba.lcut()、join()、re.sub()
import jieba
import re
text=' I love you.\n do you \n\nlove me ? ?'
text1= text.split("\n") #以\n为秘密暗号,凡遇到\n就画一刀,把一连串的字符切分成若干个元素,从而建成一个列表
print('text1=',text1)
for line in text1: #line表示列表中的每一个元素
line = line.strip() # 去除元素左右两边的空格
print('line=',line) #line是前后没有空格的字符串,但字符串中间的空格不能保证规范
if line: # 也就是说列表中的元素有字符的才进入分词环节,空格或换行符之类的无意义的东西就不进入分词环节
seg_line = jieba.lcut(line) # 终于要分词了,把字符串切分成一个个字/字母/标点符号/空格,生成一个列表
print('分词后=',seg_line)
seg_str = " ".join(seg_line) # 中间用空格隔开,把列表的元素一个个再连起来,形成一个字符串
seg_str = re.sub("\s+", " ",seg_str)
# 确保每个字符之间都是一个空格。 \s匹配空白,re.sub(pattern, repl, string, count=0, flags=0)第一个参数pattern:就是正则式字符串或者正则式对象,第二个参数repl:就是要用什么东西去替换pattern匹配到的字符串,第三个参数string:就是对哪个字符串进行匹配与替换,第四个参数count:就是只替换前几个,如果是0则全部都替换
print('seg_str=',seg_str)
01-21