字符串的常见操作
- 获取长度:len
- 查找内容:find、index、rfind、rindex
- 判断:startswith、endswith、isalpha、isdigit、isalnum、isspace
- 计算出现次数:count
- 替换内容:replace
- 切割字符串:split、rsplit、splitliness、partition、rpartition
- 修改大小写:capitaliza、title、upper、lower
- 空格处理:ljust、rjust、center、lstrip、rstrip、strip
- 字符串拼接:join
注意:在python中,字符串是不可变的!所有的字符串相关方法,都不会改变原有的字符串,都是返回一个结果,在这个新的返回值里,保留了执行后的结果!
一、find特点:从左向右查找,只要遇到一个符合要求的,则返回位置,如果没有找到任何符合要求的则返回-1
例如:
path = 'https://www.baidu.com/img/dong_e70247ce4b0.gif'
# find、index、rfind、rindex
i = path.find('_')
print(i)
image_name = path[i+1:]
print(image_name)
二、rfind:从右向左查找,只要遇到一个符合要求的,则返回位置,如果没有找到任何符合要求的则返回-1
# rfind (right find)
i = path.rfind('.')
zhui = path[i:]
print(zhui)
三、count:统计指定字符的个数
'''
查找字符串中有几个‘.’
使用count
'''
n = path.count('.')
print(n)
四、index与find区别:index也是表示查找,但是如果找不到会报错
五、判断:startswith、endswith、isalpha、isdigit、isalnum、isspace
返回值都是布尔类型(True,False)
s = 'e70247ce4b0a3e5ba73e8b3b05429d84.gif'
1.startswith
2.endswith
练习:
模拟文件上传,键盘输入上传文件的名称(abc.jpg),判断文件名(abc)是否大于6位以上,扩展名是否是:jpg,gif,png格式
如果不是则提示上传失败,如果名字不满足条件,而扩展名满足条件则随机生成一个6位数字组成的文件名,打印成功上传xxxxxx.png
判断名字
考察知识点:1.endswith(是否是xxx结尾的) 2.查找“.”所在的位置(切片操作)3.使用 “+”两边类型要一致 4.if…else语句
字母和数字的组合
# 字母和数字的组合(随机数,如:验证码)
filename = ''
s = 'QWERTYUIOPAASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890'
for i in range(6):
index = random.randint(0, len(s) - 1) # 随机产生下标
filename += s[index] # 获取下标匹配的字母
print(filename)
组合一下:
import random
file = input('输入上传图片文件全称:')
# 判断扩展名
if file.endswith('jpg') or file.endswith('gif') or file.endswith('png'):
# 判断文件名字
i = file.rfind('.')
name = file[:i]
# len(name)
if len(name) < 6:
# 重新构建名字,产生字母和数字的组合名称
filename = ''
s = 'QWERTYUIOPAASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890'
for a in range(6):
index = random.randint(0, len(s) - 1) # 随机产生下标
filename += s[index] # 获取下标匹配的字母
# filename 文件名 和后缀进行拼接
file = filename + file[i:]
# 完整的文件全称名字
print('成功上传%s文件' % file)
else:
print('文件格式错误,上传失败!')
3.isdigit :判断是否全部是数字组成
4.isalpha:判断是否全部是字母组成
5.isalnum:判断是否由数字或字母组成
6.isspace:判断是否由空白的字符串组成
7.isupper:判断是否全部是大写字母
8.islower:判断是否全部是小写字母
练习:
'''
admin123 15811119999 200325
用户名或者手机号码登录+密码,
用户名:全部小写,首字母不能是数字,长度必须6位以上
手机号码:纯数字,长度11位
密码必须是6位数字
以上符合条件,则进入下层验证:
判断用户名+密码是否是正确,成功否则登录失败
'''
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~