str 常用操作
Posted jnsn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了str 常用操作相关的知识,希望对你有一定的参考价值。
字符串切片
# 字符串切片 (字符串不可更改)
s = ‘123456789‘
s1 = s[0:3] # 顾头不顾尾
print(s1, type(s1)) # 123 <class ‘str‘> str 切换之后还是切片
s2 = s[-1]
print(s2) # 9 取得最后一个数值
print(s[1:]) # 23456789 从索引1到末尾
print(s[0:-1]) # 12345678 获得从第1个元素到倒数第2个元素(顾头不顾尾)
print(s[-1:1:-2]) # 注意:从右往左,步长是-2(反方向步长)
# print(s[-1:1]) # 注意没有反向步长, 是空字符串
print(s[:5:2]) # 正方向步长
print(s[::]) # 全部取出来
字符串常用的操作方法
# replace 对字符串的任何修改都不会影响原字符串
t = ‘张三很高,张三很牛逼,张三很优秀‘
t1 = t.replace(‘张三‘, ‘李四‘) # 默认全部替换
print(t1) # 李四很高,李四很牛逼,李四很优秀
print(t) # 张三很高,张三很牛逼,张三很优秀
# 从左到右一次替换两个,此方法无法从中间开始替换
print(t.replace(‘张三‘, ‘李四‘, 2)) # 李四很高,李四很牛逼,张三很优秀
# strip() 方法删除任何前导(开头的空格)和尾随(结尾的空格)字符 空格/tab/换行符都能去掉,中间的不能去掉
s = ‘ hello hello ‘
# print(s)
print(s.strip()) # hello hello
# 去掉指定字符 从左到右 从右到左,删除指定的字符,如果剩余的字符不再指定的删除范围内则不再继续删除,不会再删除中间的
s = ‘HIH你H好HHK‘
print(s.strip(‘KHI‘)) # 你H好
print(s.strip(‘KI‘)) # HIH你H好HH
# 重点:split 默认按照空格分割,注意:返回的是一个列表 str----->list
s = ‘路飞 索隆 乌索普‘
l = s.split()
print(l) # [‘路飞‘, ‘索隆‘, ‘乌索普‘]
s = ‘路飞:索隆:乌索普‘
print(s.split(‘:‘)) # [‘路飞‘, ‘索隆‘, ‘乌索普‘] 指定字符分割
s = ‘:路飞:索隆:乌索普:‘ # 有n个分割符,生成n+1个元素,注意首尾分割符是空字符串
print(s.split(":")) # [‘‘, ‘路飞‘, ‘索隆‘, ‘乌索普‘, ‘‘]
# 指定分割个数,剩余的不再分割
s = ‘路飞:索隆:乌索普:娜美‘
print(s.split(":", 2)) # [‘路飞‘, ‘索隆‘, ‘乌索普:娜美‘]
# 重点:join 可迭代对象都可用join(列表、字符串等)
s = ‘香克斯‘
s = ‘+‘.join(s)
print(s) # 香+克+斯
# 列表转化为字符串的方式可用join(列表中的元素必须是字符串类型,否则会报错)
l = ["路飞", "索隆", "乌索普", "娜美"]
s = ‘:‘.join(l)
print(s, type(s)) # 路飞:索隆:乌索普:娜美 <class ‘str‘>
print(l) # [‘路飞‘, ‘索隆‘, ‘乌索普‘, ‘娜美‘]
str1 = ‘taiBai救急‘
str2 = str1.upper() # 不会对原来的字符串产生任何影响,都是产生一个新的字符串
print(str2) # TAIBAI救急 全部转为大写,中文忽略
print(str1.lower()) # taibai救急
# 大小写举例应用,验证码忽略大小写
count = 0
code = "qwER"
while count < 3:
username = input(‘输入用户名:‘)
password = input(‘输入密码:‘)
your_code = input(‘输入验证码‘)
if your_code.upper() == code.upper():
if username ==‘zhangsan‘ and password ==‘1234‘:
print(‘登录成功‘)
break
else:
print(‘用户名或者密码错误‘)
else:
print(‘验证码错误‘)
count += 1
else:
print(‘已经输入三次失败了‘)
# startwitch
t = ‘hello‘
print(t.startswith(‘he‘)) # True
print(t.startswith(‘h‘, 0, 2)) # True
print(t.endswith(‘lo‘)) # True
# format
s = ‘我是{}, 性别{},梦想{}‘.format(‘路飞‘,‘男‘, ‘海贼王‘)
print(s)
# {}中的数字是索引,索引从0开始,可以重复利用
s = ‘我是{0}, 性别{1},成为{2},我依然是{0}‘.format(‘路飞‘, ‘男‘, ‘海贼王‘)
print(s) # 我是路飞, 性别男,成为海贼王,我依然是路飞
# 关键字
s = ‘我是{name}, 性别{sex},梦想{dream}‘.format(name=‘路飞‘, sex=‘男‘, dream=‘海贼王‘)
print(s) # 我是路飞, 性别男,梦想海贼王
s = ‘qwe1234‘
print(s.isdecimal()) # false 判断是否是十进制组成
print(s.isalpha()) # 判断是否都是字母(常用来判断用户输入的内容是否都是十进制数字)
print(s.isalnum()) # 判断是否是字母和数字
s = ‘ABCADAE‘
print(s.count(‘A‘)) # 3 默认全部
print(s.count(‘A‘, 0, 5)) # 指定位置的个数 顾头不顾尾
s = ‘海贼王路飞‘
print(‘海贼‘ in s) # Ture
print(‘海贼路飞‘ in s) # Fale 有间隔是不行的
s = ‘海贼王路飞‘
count = 0
while count < len(s):
print(str(count)+‘:‘+s[count])
count += 1
‘‘‘
0:海
1:贼
2:王
3:路
4:飞
‘‘‘
# for循环也可与break、continue使用
for i in s:
print(str(s.index(i))+":"+i)
if i == ‘路‘:
break
‘‘‘
0:海
1:贼
2:王
3:路
‘‘‘
以上是关于str 常用操作的主要内容,如果未能解决你的问题,请参考以下文章