字符串修改、搜索和替换方法_Python教程
使用字符串的过程中或多或少我们要将字符串中的内容进行修改,虽然字符串是不可改变的,但是我们可以使用方法来返回修改后的副本。
下面我们将介绍几种常用的字符串修改方法,分别是lower()、upper()、lstrip()、rstrip ()、strip()。
1. lower()方法和upper()方法
这两种方法和上一节的测试方法类似,前者是返回一个副本,副本中把字符串中所有字符转换为了小写字符,而后者是返回一个副本,副本中把字符串中所有字符转换为了大写字符。
看下面的例子:
>>> my_str = 'ABCabc'#包含大小写字母的字符串 >>> my_str.upper()#将字符串全部大写 'ABCABC' >>> my_str.lower()#将字符串全部小写 'abcabc' >>> my_str#再看一下原始字符串有没有改变 'ABCabc'
一定要注意的就是返回的是副本,使用了方法,但是原始字符串是没有改变的,如果我们要获取副本,可以另取名,也可以直接覆盖。
>>> my_str = my_str.upper()#直接覆盖 my_str >>> my_str 'ABCABC'
2. lstrip()方法、rstrip ()方法和strip()方法
这三种方法的原理类型,他们都是用于处理字符串中的空白字符。
1) lstrip()方法会返回一个副本,副本中的字符串删除所有前导的空白字符。
2) rstrip()方法会返回一个副本,副本中的字符串删除所有后导的空白字符
3) strip()方法会返回一个副本,副本中的字符串删除所有前导和后导的空白字符。
我们先定义一个字符串my_str = ‘ \n\twww.dotcpp.com\t\n ‘,然后看下图:
在图中前导为字符串字符串前面的空白字符,后导同理,前导对应的就是lstrip()方法,后导对应rstrip()方法,而strip()对应的是两种方法的结合。
我们来看一下代码:
>>> my_str = ' \n\t www.dotcpp.com \t\n ' >>> my_str.rstrip()#返回删除后导空白字符的副本 ' \n\t >>> my_str.lstrip()#返回删除前导空白字符的副本 'www.dotcpp.com \t\n ' >>> my_str.strip()#返回删除前导后导空白字符的副本 'www.dotcpp.com'
综合代码和上图来理解一下这个例子,通俗的讲,前导返回的副本删除了前面部分,后导返回的副本删除了后面部分,而strip()方法返回的副本把前导后导一并删除。
3. 搜索方法
我们在写程序的时候有时候需要搜索字符串中的元素,除了前面讲过的find()方法和index()方法,我们有时候还需要用到endswith()方法和startswith()方法。
1) endswith()方法
它的语法格式为:
my_str.endswith(substring)
my_str为字符串名,substring参数是一个字符串,如果在该字符串的结尾为substing,那么返回True,反之返回False。
2) startswith()方法
它的语法格式为:
my_str.startswith(substring)
my_str为字符串名,substring参数是一个字符串,如果在该字符串的开头为substing,那么返回True,反之返回False。
举个例子:
>>> my_str = 'www.dotcpp.com' >>> my_str.endswith('.com') True >>> my_str.startswith('www.') True
4. 替代方法——replace()
replace()方法返回一个副本,副本中将我们需要替代的字符替换掉,它的语法格式为:
my_str.replace(old,new)
my_str为字符串名,old为要替换掉的字符,new为替换上的字符。
举个例子:
>>> my_str = 'www.dotcpp.com' >>> my_str.replace('w','m') 'mmm.dotcpp.com'
这种方法替换的时候仍然是返回的副本,它会替换掉所有需要替换的字符,保持原字符串是不改变的。