python控制语句字符串截取,自然语言处理 | (2)Python字符串处理

目录

1.基本文本处理操作概述

2.清理与替换

3.截取

4.连接与分割

5.比较与排序

6.查找与包含

7.大小写与其他变化

1.基本文本处理操作概述

NLP处理的对象是文本字符串内容,接下来我们熟悉一下Python中的一些基本文本字符串(中/英文)操作:

替换

截取

复制

连接

分割

排序

比较

查找

包含

大小写转换

注意下列字符串处理方法都有返回值,不是对字符串对象原地进行更改。返回处理后的结果(字符串对象),可以直接打印,也可以赋值给别的字符串对象进行其他操作,原字符串不变。

2.清理与替换

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的尾部是空格,得先去掉空格再去叹号。

b6463f1baf551d9348a78990e955530e.png

#字符串替换

print(str1)

print(str1.replace('hello','hi')) #将所有hello都替换为hi

str2 = " 大家好,我是晶天, "

print(str2)

#去除空格和特殊符号

print(str2.strip().lstrip().rstrip(','))

#字符串替换

print(str2.replace('晶天','CoreJT'))

#替换为空串'' 相当于删除

print(str2.replace('大家好,',''))

198e5d1f9e7a7246caba38011deb228d.png

3.截取

#截取/访问

#字符串的访问类似于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 进行取值

4d938a9bf08c3eccc38e3dfabd121d5f.png

4.连接与分割

str1 = "大家好,我是CoreJT,太好了!"

str2 = '大家好,我是XXX,吃饭了吗?'

#使用+连接

print(str1+str2)

#使用join进行连接

#创建一个字符串列表

strs = ['我是CoreJT','我是XXX','太开心了,太棒了!']

print(';'.join(strs)) #使用;对列表中的各个字符串进行连接

#join的反方法 split 进行切分

str3 = '我是CoreJT;我是XXX;太开心了,太棒了!'

print(str3.split(';')) #使用;对字符串进行切分 得到字符串列表

aaf75d2eb5677e62e495422610e94c12.png

5.比较与排序

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个字母大写的字母顺序进行排序

2dd078ffef3d72eff44ef8a35008533e.png

6.查找与包含

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('你怎么回事'))

5918332b4d6629fefcdaeef492757725.png

7.大小写与其他变化

str1 = 'hello,my name is CoreJT.'

#转换小写

print(str1.lower())

#转换大写

print(str1.upper())

#首字母大写

print(str1.capitalize())

#每个单词首字母大写

print(str1.title())

print(str1)

72903801d90aa73e4f90993aa2315a12.png

更多Python字符串方法,可以使用help函数进行查看,即查即用。不只是字符串,其他相关的函数也可以通过help进行查询:

ec86a5d0c8b1fafbccc1e988f6089c72.png

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值