Python学习第二十二天—字符串2

[复制链接]
15271953841 发表于 2024-2-15 07:49:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 15271953841 于 2024-2-21 06:30 编辑

Python 3.12.1 (tags/v3.12.1:2305ca5, Dec  7 2023, 22:03:25) [MSC v.1937 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
查找
count(sub[,start[,end]])  出现次数
find(sub[,start[,end]])    从左往右找,定位指定的子字符串在字符串中的索引下标值。
rfind(sub[,start[,end]])    从右往左找,定位指定的子字符串在字符串中的索引下标值。
index(sub[,start[,end]])
reindex(sub[,start[,end]])

x="上海自来水来自海上"
x.count("海")
2
x.count("海",0,5)
1
x.find("海")
1
x.rfind("海")
7
x.index("海")
1
x.rindex("海")
7
x.find("龟")             (find和index,rfind和rindex的用法很相似,区别是如果定位不到子字符串,处理方法不一样。)
-1
x.rfind("龟")
-1
x.index("龟")
Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    x.index("龟")
ValueError: substring not found             (这个内容后面再学习)

替换 expandtabs([tabsize=8])
code="""                                (三个引号表示换号)
        print("I love FishC")
    print("I love your girlfriend")"""
new_code=code.expandtabs(2)            (参数是指定一个tab等于多少个空格)
print(new_code)

        print("I love FishC")         (这个print前面有两个tab,前面expendtabs设置了一个tab等于2个空格,但是执行后,打印出来的结果没有变化,不知是何原因,这是一个遗留疑问。)
    print("I love your girlfriend")

更换 replace(old,new,count=-1)
"在吗!我在你家楼下,快点下来!!".replace ("在吗","想你")
'想你!我在你家楼下,快点下来!!'

翻译 translate(table),其中的table不是桌子,是表格的意思。是用于指定一个转换规则的表格,那么这个转换规则的表格是如何得到呢?是怎么生成的呢?这里我们需要用到一个str.maketrans(x[,y[,z]])的方法来获取table这个表格,建立的表格内容替换,也就是说,如果语句中含有表格内的内容会被替换,没有的就不变。
table=str.maketrans("ABCDEFG","1234567")   (把字符串中对应的字母,按str.maketrans的相应字母转变为对应的数字)
"I love FishC".translate (table)
'I love 6ish3'
"I love FishC".translate (str.maketrans("ABCDEFG","1234567"))  (先获取一个转换的表格)
'I love 6ish3'
str.maketrans还支持第3个参数,表示给指定的字符串忽略。
"I love FishC".translate (str.maketrans("ABCDEFG","1234567","love"))    (love被忽略掉)
'I  6ish3'
关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|鄂ICP备13007585号-4

在本发帖
关注公众号
QQ客服返回顶部