python字符串

发布于:2024-08-12 ⋅ 阅读:(134) ⋅ 点赞:(0)

目录

🎁字符串索引

🎁字符串切片,截取操作

🎁字符串的连接,重复和子串检查

🎁str.format()格式化输出 

🎁字符串查找

🎁字符串相关函数 


🎁字符串索引

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),每两步截取一个字符

🎀运行结果

京欢迎
京欢迎你
北京欢迎你
京欢迎你
北欢你

🎁字符串的连接,重复和子串检查

  1. 字符串连接:使用+运算符可以将两个或多个字符串连接成一个新的字符串。
  2. 字符串重复:使用*运算符可以将一个字符串重复指定的次数,生成一个新的字符串。
  3. 子串检查:使用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

 

 


网站公告

今日签到

点亮在社区的每一天
去签到