【Python学习笔记第三记】字符串的操作
Python中的字符串查找操作
Python的字符串操作分为3大类,查找、修改和判断。以后可能会经常用到这些的字符串的操作。
查找操作有3种:find、index和count
find和index都是查找字符串中是否含有子串,若是含有子串find都会返回子串的开始下标,如果不包含子串的话find会返回-1,index会报错。
count是计数,计算子串在字符串中出现的次数。
find的使用方法
find的语法格式:
字符串.find(‘子串’,开始下标,结束下标)
如果开始下标为空,则默认从头开始,入宫结束下标为空默认到最末尾为止
str1 = 'Hello World !'
print(str1.find(' '))
print(str1.find(' ',4,15))
find只返回查找空间中子串第一次出现的下标,例如整个字符串中有两个空格字符,但是如果在整个字符串中查找空格字符的话,只会返回5,11不会返回。
index的使用方法
index和find使用方法是一样的,唯一的区别就是若是子串不存在的话,index会报错。
错误原因会显示
ValueError:substring not found
count的使用方法
语法格式和上述两个一样,只是将find/index改成count
count是计算目标子串在字符穿中出现的次数。
Python中字符串的修改操作
修改操作又分为替换、分割、合并、字母大小写更改、空格删除和对齐
replace替换的使用
replace的用法格式为replace(‘旧字符串’, ‘新字符串’, 替换次数)
str1 = 'Hello World !'
print(str1.replace('world','python', 2)
这样就将world字符转换为了python。替换次数表示将多少个字符替换成新的字符串,若是替换次数大于源字符串中有的子串个数,则意味着全部替换。
如果替换次数为空的话,默认全部替换
值得注意的是,str1所代表的字符串还是原来的字符串,依然为hello world
我们需要一个新的变量来储存这个替换后的字符串,或是用修改过后的字符串覆盖原有的字符串。
split分割的使用
split是将一组字符串以某个字符为标志分割成一个列表
split的格式为:字符串. split(‘标志字符’, 分割次数)
str1 = 'hello world !'
print(str1.split(' '))
print(str1.split(' ', 1))
上述代码的两个print的结果是不同的
第一个结果是['hello','world','!']
第二个结果是['hello','world!']
上述代码解释分别是,用空格将字符串分割成列表元素
用空格将字符串分割,仅分割一次。
分割次数若为空,默认全部分割。
join的操作
join是连接(姑且这么叫吧,想不到更合适的)
语法格式:‘连接符’.join(需要操作的对象)
操作对象一般是列表,元组,字典,字符串和元素序列
例如:
list = ['hello','world','!']
str = ' '.join(list)
代码解读为用空格连接list中的元素,并将得到的字符串赋给str
join的操作对象还可以是字符串
例如:
s1 = 'ab'
s2 = s1.join('123')
print(s2)
上述代码的输出结果为:1ab2ab3
所以我说姑且叫join是连接,因为字符串中没有空格也会被连接符给插入连接起来。
字符串非常用修改
非常用修改有修改大小写,删除空格和对齐
修改大小写
capitalize:
capitalize字符串首字母大写(如果字符串第一个字符不是字母的话就不会大写,后面的字母就没有大写了,而且只有首个字符字母会大写)
title
title是每个单词的首字母大写。
upper
所有字母大写。
lower
所有字母小写。
str1 = '学习python'
print(str1.capitalize())
print(str1.title())
print(str1.upper())
print(str1.lower())
运行结果为学习python
学习Python
学习PYTHON
学习python
str1 = 'leArn pyThon'
print(str1.capitalize())
print(str1.lower())
运行结果Learn python
learn python
删除空格字符
lstrip
删除左侧字符
rstrip
删除右侧字符
strip
删除两侧字符
str1 = " Hello World ! "
print(str1.lstrip())
print(str1.rstrip())
print(str1.strip())
运行结果(运行出来并没有‘\’只是为了能显示有空格):Hello World!
\ Hello World!
Hello World!
对齐
ljust(长度,‘填充字符’)
rjust(长度,‘填充字符’)
center(长度,‘填充字符’)
str1 = "Hello World!"
print(str1.ljust(10, '.'))
print(str1.rjust(10, '.'))
center(str1.center(20, '.'))
运行结果
Hello World!…
…Hello World!
…Hello World!…
字符串的判断
分为判断开头和判断结尾
字符串的开头判断
需要操作的字符串.startswith(‘子串’,开始位置,结束位置)
字符串的结尾判断
需要操作的字符串.endswith(‘子串’,开始位置,结束位置)
str1 = "Hello World !"
print(str1.startswith('Hel'))
print(str1.endswith(' !', 5, 13))
运行结果
True
True
来源:CSDN
作者:圣人盗
链接:https://blog.csdn.net/weixin_44500893/article/details/104020444