字符串修改、搜索和替换方法

点击打开在线编译器,边学边练

        使用字符串的过程中或多或少我们要将字符串中的内容进行修改,虽然字符串是不可改变的,但是我们可以使用方法来返回修改后的副本。

        下面我们将介绍几种常用的字符串修改方法,分别是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  ‘,然后看下图:

4-18.png

        在图中前导为字符串字符串前面的空白字符,后导同理,前导对应的就是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'

        这种方法替换的时候仍然是返回的副本,它会替换掉所有需要替换的字符,保持原字符串是不改变的。



本文固定URL:https://www.dotcpp.com/course/254

第一章 人生苦短,我用Python
第二章 Python基础语法
第三章 Python入门语法
第四章 Python核心语法
第五章 函数
第六章 面向对象编程
第七章 模块
第八章 异常处理和程序调试
第九章 文件及目录操作
第十章 GUI编程
第十一章 进程和线程
第十二章 数据库管理
第十三章 算法
第十四章 爬虫
第十五章 实战篇
第十六章 后记
Dotcpp在线编译      (登录可减少运行等待时间)