截取,切片
一.截取:
- 0~len(s)-1 len:字符串的长度
- -len(s)~-1
正着从0开始,反着从-1开始
# 单个字符串的截取
s1 = 'ABCDEFG' #字符串长度0至6,-1至-7
print(len(s1)) # len获取字符串的长度
print(s1[4])
print(s1[6])
print(s1[-1])
print(s1[-7])
二.切片:
切片对象为:字符串,列表
格式:字符串变量【start:end:step】 内容取值不包含end step步长默认为0
正着取,到本数字索引的下一位
反着取,到本数字索引的上一位
step的正负表示取值方向:
正数: 从左向右
负数: 从右向左
# 字符串的切片操作:
s2 = 'ABCDEFG'
# 正着取:BCD ABCD
print(s2[1:4]) #正着取,到本数字索引的下一位
print(s2[0:4])
print(s2[:4]) # 默认从零开始
# 反着取:BCD ABCD
print(s2[1:-3]) #反着取,到本数字索引的上一位
print(s2[0:-3])
索引(下标)
查找
1.find:从左向右查找,只要遇到一个符合要求的则返回位置。如果没有找到任何符合要求的则返回:-1
返回-1则表示找不到这个值
find查找多个字符,只会显示第一个字符的索引
2.rfind:从右向左查
3.index:也表示查找,但是如果找不到就会报错
4.count:统计指定字符的个数
# find操作
patch = 'asdfghjklqwertyuiop'
a = patch.find("q") #寻找q的index值
print(a)
b = patch.find("z") #寻找不到z,返回-1
print(b)
判断
判断:返回值都是布尔类型的(True,False)
(1).startswith:判断是否以XX开头
(2).endswith:判断是否以XX结尾
# 文件上传,扩展名为jpg,gif,png的上传成功,否则上传失败
q = input("输入上传的文件名称")
if q.endswith("jpg") or q.endswith("gif") or q.endswith("png"): # 判断扩展名
print("上传成功")
else:
print("文件格式不正确,上传失败")
格式化
格式化:format
通过 {} 来代替以前的 %
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
# 使用数字填充,从0开始计数
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
# 变量名的形式,format的参数必须是关键字参数
>>> "{a} {b} {a}".format( a="world",b="hello") # 设置指定位置
'world hello world'
# format 格式化
e = '张三{name}今年都是{age}岁'.format(name='李四',age='18')
print(e)
替换内容
替换内容:replace (被替换词,替换词,count) count:替换次数,默认全部替换
(old,new,count)
切割字符串
切割字符串:split,rsplit
(‘分隔符’,maxsplit) 返回的结果是一个列表,maxsplit最多的分割次数
空格处理
strip:去除左右两侧的空格
lstrip:去除左侧的空格
rstrip:去除右侧的空格