Hello,大家好,我是程序媛小敏!
我们学习了字符串的拆分和连接方法,本篇我们一起学习字符串的查找和替换等方法。
在日常的工作学习中,当需要在一篇文章中查找、替换某些字词时我们可以使用ctrl+f组合快捷键,快速定位查找的字眼进行修改、替换。
本文我们要学的就是如何使用Python方法自动化查找和替换字符串中的特定字符。
01字符串的查找
字符串中常用的查找方法有:find、rfind、index、rindex、count等方法。
1.find(str,begin,end)翻译中文为:发现、查找。
语法功能:该方法接受一个要查找到的字符串参数、一个查找的开始位置索引和结束位置索引参数,从字符串左侧开始索引位置到结束索引位置之间查找字符串第一次出现的索引位置。
附上代码结果如下:
find案例注意:find只传入查找的字符串,而不传入开始和结束位置索引,则默认从字符串开头查找到字符串结尾如第3行。由第4行可以得出find函数的开始索引和结束索引和我们之前学习的切片有类似“含头不含尾”。并且如果找到了字符串,就返回字符串的位置索引,找不到返回-1。
2.rfind(str,begin,end)可以理解为rightfind,右查找
语法功能:rfind用法类似find,区别是find从左侧开始查找,而rfind是从右侧开始查找,其他语法均类似,友友们可以自行尝试。
3.index(str,begin,end)翻译中文为:指数、索引。
语法功能:该方法类似find,区别是find如果找不到查找的字符串返回-1,而index方法查找不到会程序报错,友友们可自行尝试。
4.rindex(str,begin,end)可以理解为rightindex
语法功能:该方法类似rfind,区别是rfind如果找不到查找的字符串返回-1,而rindex方法查找不到会程序报错,友友们自行尝试哈。
4.count(str)翻译中文为:计数
语法功能:该方法接受一个查找的字符串,在原字符串中查找被查找字符串并统计出现的次数,返回次数。
如上代码加以理解:
count用法从代码运行图,可以看出,count方法返回字符串中被查找字符串的个数,未查到返回0。
02字符串的替换
1.replace(old_str,new_str,num)翻译中文为:代替、替换。
语法功能:该方法接受一个旧字符串参数、一个新字符串参数和要替换的次数参数,返回一个被替换后的字符串。
附上代码例子加以说明:
replace如上代码,小敏替换了两次,第一次传了替换次数1,第二次没传替换次数,这里注意:replace方法,传了次数只会替换对应的次数,如果不传次数,则默认全部替换。
2.expandtabs()翻译中文为:展开选卡。
语法功能:将原始字符串中的制表位\t替换为空格。如下:
hello\tPython.expandtabs()结果为:helloPython(4个空格)。
03字符串的加解密方法
translate1.maketrans(str1,str2):
语法功能:接受两个等长字符串,使用每个对应位置的字符的ascii码分别生成字典的键和值,得到一个字典,用于字符串加密。
用法举例如下:
str.maketrans(,abc)结果为:{49:97,50:98,51:99}
解释下:abc在ascii码表中对应的10进制表示分别为:49、50、51、97、98、99。
关于什么是字典,我们在后面的学习中会讲解到。
1.translate(dict):翻译中文为:翻译
语法功能:接受一个包含有转换关系的字典对象,用于对字符串的转换、解密。
translate用法举例如下:
.translate({49:97,50:98,51:99})结果为abc
解释下:对应的ascii码10进制为49、50、51,按照转换关系字典的规则,被转换为abc。
好了,关于字符串的学习,就告一段落了,我是python程序媛小敏,每天为您分享python知识,喜欢的可以留言讨论!