当前位置:首页 > 站长知识 > 正文内容

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

2024-09-05站长知识16

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

下面我们将介绍几种常用的字符串修改方法,分别是lower()、upper()、lstrip()、rstrip ()、strip()。

1. lower()方法和upper()方法

这两种方法和上一节的测试方法类似,前者是返回一个副本,副本中把字符串中所有字符转换为了小写字符,而后者是返回一个副本,副本中把字符串中所有字符转换为了大写字符。

看下面的例子:

1
2
3
4
5
6
7
>>> my_str = 'ABCabc'#包含大小写字母的字符串
>>> my_str.upper()#将字符串全部大写
'ABCABC'
>>> my_str.lower()#将字符串全部小写
'abcabc'
>>> my_str#再看一下原始字符串有没有改变
'ABCabc'

一定要注意的就是返回的是副本,使用了方法,但是原始字符串是没有改变的,如果我们要获取副本,可以另取名,也可以直接覆盖。

1
2
3
4
>>> 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’,然后看下图:

python字符串1

在图中前导为字符串字符串前面的空白字符,后导同理,前导对应的就是lstrip()方法,后导对应rstrip()方法,而strip()对应的是两种方法的结合。

我们来看一下代码:

1
2
3
4
5
6
7
>>> 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()方法

它的语法格式为:

1
my_str.endswith(substring)

my_str为字符串名,substring参数是一个字符串,如果在该字符串的结尾为substing,那么返回True,反之返回False。

       2) startswith()方法

它的语法格式为:

1
my_str.startswith(substring)

my_str为字符串名,substring参数是一个字符串,如果在该字符串的开头为substing,那么返回True,反之返回False。

举个例子:

1
2
3
4
5
>>> my_str = 'www.dotcpp.com' 
>>> my_str.endswith('.com')
True
>>> my_str.startswith('www.')
True

4. 替代方法——replace()

replace()方法返回一个副本,副本中将我们需要替代的字符替换掉,它的语法格式为:

1
my_str.replace(old,new)

my_str为字符串名,old为要替换掉的字符,new为替换上的字符。

举个例子:

1
2
3
>>> my_str = 'www.dotcpp.com'
>>> my_str.replace('w','m')
'mmm.dotcpp.com'

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