Python 字符串(三)

字符串基本操作

检索字符串

#count 检索一个字符串在另一个字符串中出现的次数
str1 = "###@@@¥¥¥………………&&&&"   #定义一个字符串
str1.count("¥")   #查找里面的¥个数
3
#用find()检索是否包含指定字符串的
str1.find("@")   #一个字符串在另一个字符串中首次出现的位置
3
#如果不存在,则显示-1
str1.find("*")   #不存在时,显示-1
-1
#上述判断也可以用逻辑判断
"@" in str1
True
#rfind表示最后一个该符号出现的位置
str2 = "11233445556677788900"
str2.rfind("7")
14
#用index()也可以检索元素,查找不存在的元素会报错
str3 = "12345678900987654321@@@$#$%^%$$"
str3.index("#")   #返回第一次出现该字符的位置
24
str3.rindex("#")   #最后一次出现该字符的位置
24
#查找是否以某符号开头用startswith
str3.startswith("1")  # 检查字符串是否以1开头
True
str3.startswith("@") #不是则显示错
False
#判断是否以为字符结束用endswith
str3.endswith("$")   
True

字母的大小写转化

#大写转小写用 lower()
#小写转大写用 upper()
str4 = "abcdefghijklmnopqrstuvwxyz"  #定义一个字符串
str4.upper()    #调用upper转化为大写字母
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
#原字符串部分大写部分小写也可以
str5 = "abcdEFG"
str5.upper()  #将str5中的小写字母转化为大写
'ABCDEFG'
#将原字符串转化为小写字母
str5.lower()
'abcdefg'
#例 检验用户名是否重复报名
str6 = "wuhan|WuHa|haL|shEn|yg|"   #定义一个已报名的用户名字符串,竖线分割
str6_1 = str6.lower()    #转化为小写
str7 = input("请输入报名用户名:")   #输入用户名
str7_1 = "|" + str7.lower() + "|"  #输入的用户名转化为小写
if str7_1 in str6_1:
    print(str7_1,"您已经报名,请不要重复报名")
else:
    print(str7_1,"可以报名!")
请输入报名用户名:shen
|shen| 您已经报名,请不要重复报名

去除字符串中的空格和特殊字符

#用strip()去除首尾的空格和特殊字符
str8 = "www.wuhan.com.cn\t\r\n"
str8.strip()  #不指定参数表示首尾的空格和特殊符号去掉
'www.wuhan.com.cn'
#如果只需要去除空格,则可定义参数为空格
str8.strip(" ")
'www.wuhan.com.cn\t\r\n'
#也可以去除其它符号
str9 = "**www.wuhan.com.cn\t\r\n**"
str9.strip("*")   #将*删除
'www.wuhan.com.cn\t\r\n'
#lstrip()去掉左侧的特殊字符或空格
str9.lstrip("*")   #只把左侧的*去掉
'www.wuhan.com.cn\t\r\n**'
#rstrip()去掉右侧的特殊字符或空格
str9.rstrip("*")   #只把右侧的*去掉
'**www.wuhan.com.cn\t\r\n'

格式化字符串

#使用%操作   (前期版本)
#使用format方法 (推荐)

str10 = "编号:%09d\t公司名称:%s \t 官网:http://wwww.%s.com"   #定义模板
item = (7,"百度百捷","baidu")  #三个百分号对应三个具体的项
print(str10%item)  #输出
编号:000000007	公司名称:百度百捷 	 官网:http://wwww.baidu.com
item2 = (1234,"武汉大学","whu")
print(str10%item2)  #输出
编号:000001234	公司名称:武汉大学 	 官网:http://wwww.whu.com
#使用format方法,str.format(args),参数格式较为复杂,需慢慢适应
str11 = "编号:{:0>9s}\t公司名称:{:s}\t 官网:http://www.{:s}.com"
con1 = str11.format("7","百度百捷","baidu")
print(con1)
编号:000000007	公司名称:百度百捷	 官网:http://www.baidu.com
#用format形式格式化字符串
import math
print("以货币形式输出: ${:,.2f}美元".format(1250+4567))  #以货币形式显示
print("{0:.1f} 用科学计数法表示:{0:E}".format(1234000009.1))#用科学计数法表示
print("π取前五位小数:{:.5f}".format(math.pi)) #输出小数点后五位
print("{0:d}的十六进制的显示:{0:#x}".format(1000))#用16进制表示
print("天才是由{:.0%}的灵感,加上{:.0%}的汗水".format(0.01,0.99)) 
以货币形式输出: $5,817.00美元
1234000009.1 用科学计数法表示:1.234000E+09
π取前五位小数:3.14159
1000的十六进制的显示:0x3e8
天才是由1%的灵感,加上99%的汗水
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈伦2019

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值