目录
🎁字符串索引
print("abcd"[2])#获取字符串下标为2的字符,如果超过字符串长度会报错
print("北京欢迎你"[-1])
🎀运行结果:
c
你
下标为非负,从左往右索引(下标从0开始)
下标为负,从右往左索引(下标从-1开始)
🎁字符串切片,截取操作
🎀切片基本语法
s[start:stop:step]
其中
start
是切片开始的索引(包含),stop
是切片结束的索引(不包含),而step
是切片的步长(默认为1)。如果省略start
,则默认为0;如果省略stop
,则默认为字符串的长度;如果省略step
,则默认为1
s="北京欢迎你"
print(s[1:4])#截取出[1,4)的字符
print(s[1:9])#截取时超过长度不会报错,截取的是从1开始到结尾的字符
print(s[:9])#冒号前面不写,默认从0开始
print(s[1:])#冒号后面不写,默认从1切到结尾
print(s[:5:2])#[0,5),每两步截取一个字符
🎀运行结果
京欢迎
京欢迎你
北京欢迎你
京欢迎你
北欢你
🎁字符串的连接,重复和子串检查
- 字符串连接:使用
+
运算符可以将两个或多个字符串连接成一个新的字符串。- 字符串重复:使用
*
运算符可以将一个字符串重复指定的次数,生成一个新的字符串。- 子串检查:使用
in
关键字可以检查一个字符串(子串)是否是另一个字符串的子集。如果子串存在于主字符串中,则返回True
,否则返回False
x="2022年"
y="北京冬奥会"
print(x+y)#连接两个字符串
print(x*10)#把x字符串复制10次,x*n即把这个字符串复制n次
print('北京'in y)#x in y,判断x是不是y的子串,是的话返回true,否则返回false
print('我'in y)
🎀运行结果
2022年2022年2022年2022年2022年2022年2022年2022年2022年2022年
True
False
🎁str.format()格式化输出
temp=23
s1='今天天气是:'+str(temp)+'度'#整型不能直接和字符串连接,要转换成str类型再连接
s2='今天天气是:{}度,天气状况是:{},适合{}'.format(temp,'小雨','睡觉')#将format中的temp传入{}中
print(s2)
s="query"
url=("https://weathernew.pae.baidu.com/weathernew/pc?{}=%E5%B9%BF%E4%B8%9C%E6%B7%B1%E5%9C%B3%E5%A4%"
"A9%E6%B0%94&srcid=4982&forecast=long_day_forecast").format(s)
print(url)
🎀运行结果
今天天气是:23度,天气状况是:小雨,适合睡觉
https://weathernew.pae.baidu.com/weathernew/pc?query=%E5%B9%BF%E4%B8%9C%E6%B7%B1%E5%9C%B3%E5%A4%A9%E6%B0%94&srcid=4982&forecast=long_day_forecast
keyword='UFOaI'
html=f'http://t.csdnimg.cn/{keyword}'
print(html)
这也是一种写法,将f写在最前面
🎁字符串查找
s3="爬虫工程师"
print(s3.index('爬虫'))#在字符串找字串,若存在则返回字串在字符串中的第一个位置,若不存在会报错
🎀运行结果
0
如果没有找到,则会报错,使程序意外终止,我们可以使用异常处理来优雅的解决
s3="爬虫工程师"
try:
print(s3.index('工虫'))#在字符串找字串,若存在则返回字串在字符串中的第一个位置,若不存在会报错
except:
print('未查找到字符串')
🎀运行结果
未查找到字符串
🎁字符串相关函数
①判断字符串是不是以某个子串结尾:str.endswith(s)
②判断字符串是不是以某个子串开始:str.startswith(s)
③获取字符串的长度:len(str)④字符串转为列表:list(str)
⑤"(合并符)".join(list)
email_adress = "123456@qq.com"
# 判断字符串是不是以某个子串结尾
print(email_adress.endswith("qq.com")) # 输出: True
# 判断字符串是不是以某个子串开始
print(email_adress.startswith("134")) # 输出: False
print(email_adress.startswith("123456")) # 如果你想要检查是否以 "123456" 开始,可以这样做
# 获取字符串的长度
print(len(email_adress)) # 输出: 13
# 将字符串转成列表
email_adr_list = list(email_adress)
print(email_adr_list) # 输出: ['1', '2', '3', '4', '5', '6', '@', 'q', 'q', '.', 'c', 'o', 'm']
# 将列表合并成字符串,不使用任何分隔符
print("".join(email_adr_list)) # 输出: 123456@qq.com
# 将列表合并成字符串,使用 "->" 作为分隔符
print("->".join(email_adr_list)) # 输出: 1->2->3->4->5->6->@->q->q->.->c->o->m