字符串的处理

目录

1、str.lower()

2、str.upper()

3、str.split(sep=None)

4、str.count()

5、str.find()

6、str.index()

7、str.startwith()、str.endswith()

8、str.replace(old,news)

9、str.center(width,fillchar)


首先,字符串在python中是一个不可变的数据类型;其次,字符串包含了许多的处理方式;最后,本节的学习目的是为了学习全面的字符串处理方式。

1、str.lower()

将str字符串全部专成小写字母,结果为一个新的字符串

#小写
s1='HelloWorld'
new_s2=s1.lower()
print(s1,new_s2)

输出结果:

2、str.upper()

将str字符串全部专成大写字母,结果为一个新的字符串

s1='HelloWorld'
new_s3=s1.upper()
print(new_s3)

输出结果:

3、str.split(sep=None)

把str按照指定的分隔符sep进行分隔,结果为列表类型

以@为例,将字符串进行分离

e_mail='wtq1874@163.com'
lst=e_mail.split('@')#以@符号为基准,将字符串分隔开成两部分,分割后得到一个列表,将列表赋给对象lst。
print('左侧:',lst[0],'右侧:',lst[1])#将分隔后的字符串按索引打印输出。

输出结果

4、str.count()

str.count()用来统计字符串中某个部分出现的次数,str.count()严格区分大小写

s1='helloworld'
print('小写字母o在s1中出现的次数:',s1.count('o'))

输出结果:

5、str.find()

str.find()用来查找字符串中某个部分首次出现的位置,并根据索引查找,并且区分大小写。

如果想要查找部分在字符串中没有,则系统会返回数字 -1,表示没有该部分

s1='helloworld'
print('小写字母e首次出现的位置:',s1.find('e'))

#如果想要查找部分在字符串中没有,则系统会报错,返回数字-1,表示没有该部分.
print(s1.find('n'))

输出结果:

6、str.index()

str.index()的功能与str.count()的功能相同,用index查找不存在的部分,会报错:ValueError: substring not found

s1='helloworld'
print('小写字母e在s1中出现的位置:',s1.index('e'))

#用index查找不存在的部分,会报错:ValueError: substring not found
print('小写字母x在s1中出现的位置:',s1.index('x'))

输出结果:

7、str.startwith()、str.endswith()

str.startwith()用来判断字符串的开头是否为括号中的部分,且严格区分大小写。返回值为布尔值True和False,是则返回为:True;    否则返回为:False.

s1='batman'
#判断前缀
print('cc-Runner'.startswith('cc'))
print('cc-Runner'.startswith('dd'))
print(s1.startswith('b'))
#判断后缀
print('cc-Runner'.endswith('er'))
print(s1.endswith('man'))
print('cc-Runner'.endswith('cc'))

输出结果:

8、str.replace(old,news)

str.replace(old,news,__count),用新的字符串替换旧的字符串,并且可以利用count来控制替换个数,,替换顺序:从左至右。若不指定替换次数则,则默认全部替换替换后会产生新的字符串

s1='helloworld'
new_s1=s1.replace('o','咚咚咚')
print(new_s1)
#控制替换个数count,不指定替换次数时,默认全部替换,替换顺序:从左至右。
new_s1=s1.replace('o','咚咚咚',1)
print(new_s1)

输出结果:

9、str.center(width,fillchar)

width为给定字符串总长度,并使其在这个长度中剧中。可指定fillchar填补给定的长度中空格的部分,如果不指定,则长度中其余部分默认为空格。

s1='ccRunner'
print(s1.center(20))#不指定填充符号
print(s1.center(20,'*'))#指定填充符号为*

print('batman'.center(30))#不指定填充符号
print('batman'.center(30,'/'))#指定填充符号为/

输出结果:

10、str.strip()、str.lstrip()、str.rstrip()

str.strip()用来去掉括号中指定的部分,去掉的位置为左右两侧。

str.lstrip()用来去掉括号中指定的部分,去掉的位置为左侧且出现的次数为第一次,不区分给定字符的左右顺序,例如:给定ab,则会去掉左侧ab及ba的部分。

str.rsteip()同str.lstrip()的用法,不过方向转变为右侧。

s1='  aa  bb  cc  '
print(s1.strip())#去掉两端的空格
print(s1.lstrip())#去掉左侧的空格
print(s1.rstrip())#去掉右侧的空格

#去掉指定的字符串
s2='ab///ab///ba'
print(s2.strip('ab'))#去掉左右两端的ab,ab不区分顺序
print(s2.lsteip('ba'))#去掉左侧的ab,ab不区分顺序
print(s2.rstrip('ab'))#去掉右侧的ab,同上不区分顺序

输出结果:

此节的内容为作者学习字符串处理的内容,如有不全面和错误的地方,欢迎礼貌指出并交流讨论

  • 44
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值