目录
1.基本文本处理操作概述
2.清理与替换
3.截取
4.连接与分割
5.比较与排序
6.查找与包含
7.大小写与其他变化
NLP处理的对象是文本字符串内容,接下来我们熟悉一下Python中的一些基本文本字符串(中/英文)操作:
注意下列字符串处理方法都有返回值,不是对字符串对象原地进行更改。返回处理后的结果(字符串对象),可以直接打印,也可以赋值给别的字符串对象进行其他操作,原字符串不变。
str1 = " hello world, hello, my name is CoreJT! "
print(str1)
#去除首尾所有空格
print(str1.strip())
#去除首部所有空格
print(str1.lstrip())
#去除尾部所有空格
print(str1.rstrip())
#也可以去掉一些特殊符号
print(str1.strip().rstrip('!')) #方法可以组合使用 先去掉首尾空格 在去掉尾部!
#注意不能直接str.rstrip('!'),因为此时str的尾部是空格,得先去掉空格再去叹号。
#字符串替换
print(str1)
print(str1.replace('hello','hi')) #将所有hello都替换为hi
str2 = " 大家好,我是晶天, "
print(str2)
#去除空格和特殊符号
print(str2.strip().lstrip().rstrip(','))
#字符串替换
print(str2.replace('晶天','CoreJT'))
#替换为空串'' 相当于删除
print(str2.replace('大家好,',''))
#截取/访问
#字符串的访问类似于Python列表 可以使用切片
str1 = '大家好,我是CoreJT,我在sdu!'
print(str1[0:3]) #访问前三个字符0-2 不包含末尾 左闭右开[0,3)
print(str1[3:3+2]) #[3,5)
#和列表一样 可以使用负索引 代表反方向
print(str1[-1-3:-1]) #从右到左 -1代表最后一个(不包含)
#也可以设置步长 [start:stop:step]
#隔一个取一个
print(str1[::2]) #start默认为0 stop默认到最后(包含) 步长默认为1
#字符串逆序最快的办法
print(str1[::-1]) #-1代表从尾到头 步长为1 进行取值
str1 = "大家好,我是CoreJT,太好了!"
str2 = '大家好,我是XXX,吃饭了吗?'
#使用+连接
print(str1+str2)
#使用join进行连接
#创建一个字符串列表
strs = ['我是CoreJT','我是XXX','太开心了,太棒了!']
print(';'.join(strs)) #使用;对列表中的各个字符串进行连接
#join的反方法 split 进行切分
str3 = '我是CoreJT;我是XXX;太开心了,太棒了!'
print(str3.split(';')) #使用;对字符串进行切分 得到字符串列表
strs = ['alice','Uzi','dancy','Mlxg','uzi']
#sorted()可以对序列(列表,元组等)进行排序,返回排序后的结果 原序列并没有变
#按字母序(ASCII码 A:65 a:97)
print(sorted(strs))
#可以通过key关键字 自定义排序方式
#使用显式函数
def sort_func(x):
return x[1].lower() #按照第2个字母小写的字母顺序进行排序
print(sorted(strs,key=sort_func))
#使用匿名函数
print(sorted(strs,key=lambda x:x[2].upper())) #按照第3个字母大写的字母顺序进行排序
str1 = '我是CoreJT;我是XXX;太开心了,太棒了!'
#查找可以使用index和find
print(str1.index('CoreJT')) #返回第一次出现的第一个位置的索引
print(str1.index('X'))
#index和find的区别是 find更安全 对于找不到的子串会返回-1
print(str1.find('你怎么回事'))
print(str1.find('太开心了'))
print(str1.index('你怎么回事'))
str1 = 'hello,my name is CoreJT.'
#转换小写
print(str1.lower())
#转换大写
print(str1.upper())
#首字母大写
print(str1.capitalize())
#每个单词首字母大写
print(str1.title())
print(str1)
更多Python字符串方法,可以使用help函数进行查看,即查即用。不只是字符串,其他相关的函数也可以通过help进行查询: