python 中文字符串分割与拼接
1. 中文字符串分割
path = 'D:/硕博/博士生期间资料/机器学习/机器学习课程资料/HW1/data/本纪list格式/高祖本纪.txt'
with open(path,'r',encoding='utf-8') as f:
d1 = f.readlines() #按行读取txt内容
d1是一个list 每一个元素是txt的一行
1 使用list()函数
将一个字符串按单个汉字分割
#将列表中的每一个元素按照单个汉字分割
new_list = [] #新建空列表,用于储存分割之后的单个汉字
for line in d1:
line = list(line)
#使用list()函数,将每一行的每一个字都变成子列表中的元素
new_list.append(line)
for i in range(20):
print('---这是new_list的第{}个元素---:'.format(i))
print(new_list[i])
- 使用
re.split(pattern,string,maxsplit=0)
pattern:分隔符
string:待分割字符串
maxsplit:最大分割次数 默认maxsplit=0,即不限制分割次数
import re
path1 = 'D:/硕博/博士生期间资料/机器学习/机器学习课程资料/HW1/data/本纪/高祖本纪.txt'
with open(path1,'r',encoding='utf-8')as f1:
d2 = f1.read()#一次性读取txt全部内容
(1)指定单个分隔符re.split('分割符号',string)
d3 = re.split(',',d2)
【说明】结果返回list,可以看到只有逗号被视为分割依据,按逗号分行
(2)指定多个分隔符re.split([分隔符1,分隔符2,分隔符3],string)
tags = '[,。!]'
#通过列表的方式传入多个分隔符
d4 = re.split(tags,d2)
【说明】和上图比较,可以看到进一步地按照句号对字符串进行了分割
2. 中文字符串拼接
(1)list元素拼接
d6 = ''.join(d1)
type(d6)
【说明】
d1是一个list
使用’’.join(d1)将d1中的所有元素拼接成一个str
(2)str拼接
直接使用“+”
str_new = string1+string2