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