Python字符串处理与操作(详细版本)
近几日在学习字符串处理的时候发现除字符串的增删查之外还有一些其他的内置函数比较实用,这里为大家整理一下,希望有用。
1. 内置的字符串运算
直接上代码:+:可以连接两个字符串常量
*:可以实现多个字符串的打印,减少复制量
in:判断某个字符是否在字符串里,返回值为True或False
a = "AB" + "123"
print(a)
b = "AB" * 3
print(b)
print("a" in "abcd")
结果如下:
AB123
ABABAB
True
2.内置的字符串处理函数
- len()函数:返回任意字符串的长度,可用于迭代处理的长度确定
- str()函数:强制类型转换为‘str’类型
- chr()函数:括号内填写Unicode编码,返回此编码的字符
- ord()函数:返回指定字符的Unicode编码
- hex()函数:将整数转换为十六进制,返回其小写字符串形式
- oct()函数:将整数转换为八进制,返回其小写字符串形式
代码如下:
c = len("cbaisbcka") #返回字符串长度
print(c)
d = 145
e = str(d) #强制类型转换
print(d,e,type(e)) #type()函数查看内容的数据类型
aa = chr(45665)#返回字符编码为括号内数值的Unicode字符
print(aa)
bb = ord("a")#返回括号内字符的Unicode编码
print(bb)
num1 = hex(85)#将整数转换为十六进制数,返回其小写字符串形式
print(num1)
num2 = oct(85)#将整数转换为八进制数,返回其小写字符串形式
print(num2)
结果如下:
9
145 145 <class 'str'>
뉡
97
0x55
0o125
3.内置的字符串处理函数
1. find()和rfind()函数:查找一个字符在给定字符串中的首次出现位置和最后一次出现的位置,如果没有则返回-1.
代码如下:
s = "apple,orange,banana,watermelon,rice"
print(s.find("banana"))#返回的位置为第一个字母的索引位置
print(s.find("o"))
print(s.rfind("rice"))
print(s.find("panda"))
结果如下:
13
6
31
-1
2. index()和rindex()函数:查找一个字符在给定字符串中首次和最后一次出现的位置,与find函数类似。如果没找到则报错。
代码如下:
print(s.index("orange"))
print(s.rindex("a"))
结果如下:
6
21
3. count()函数:返回一个字符串在给定字符串中出现的次数,若不存在则返回0。
代码如下:
print(s.count("banana"))
print(s.count("a"))
print(s.count("bird"))#如果指定字符串不存在,则输出结果为0
\\\结果为:
1
6
0
4. 字符串分隔函数
- split()函数:以指定字符分隔字符串,从左端开始,可指定分隔次数
- rsplit()函数:与split类似,从右端开始。
- partition()函数:以左端开始的第一个指定字符串为分隔符将原字符串分隔为3个部分字符串
- rpartition()函数:以右端开始的第一个指定字符串为分隔符将原字符串分隔为3个部分字符串。
代码如下:
str = "aaa,bbb,ccc,ddd,eee,fff"
print(str.split(','))
str1 = "I am a student"
print(str1.split())
print(str1.rsplit(maxsplit=2))#指定最大分割次数
str2 = "Welcome to this very perfect this yield"
print(str2.partition("this"))
print(str2.rpartition("this"))
print(str2.partition('hhh'))
结果如下:
['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff']
['I', 'am', 'a', 'student']
['I am', 'a', 'student']
('Welcome to ', 'this', ' very perfect this yield')
('Welcome to this very perfect ', 'this', ' yield')
('Welcome to this very perfect this yield', '', '')
5. 字符串连接函数
- join()函数:将列表中多个字符串进行连接,并在相邻两个字符串之间插入指定字符,返回新字符串。
代码如下:
#join函数使用
listOne = ["aaa","bbb","ccc","ddd"]
print(':'.join(listOne))
结果为:
aaa:bbb:ccc:ddd
6. 大小写字符转换函数
- lower()函数:返回小写字符串
- upper()函数:返回大写字符串
- pcapitalize()函数:将首字母大写
- title()函数:每个单词首字母大写。
- swapcase()函数:将字符串的大小写呼唤。
代码如下:
str_eg = "I have thirty Yuan money"
print(str_eg.lower()) #全部小写
print(str_eg.upper())#全部大写
print(str_eg.capitalize())#首字母大写
print(str_eg.title())#每个单词首字母大写
print(str_eg.swapcase())#字符串大小写互换
结果为:
i have thirty yuan money
I HAVE THIRTY YUAN MONEY
I have thirty yuan money
I Have Thirty Yuan Money
i HAVE THIRTY yUAN MONEY
7. 字符串替换函数
- replace()函数:用来替换字符串中指定字符或者指定字符串,每次只能替换一次,即参数只能有一个。不修改原字符串,而是返回一个新字符串。
代码如下:
text1 = "as the bar as graph indicates"
print(text1.replace("as","HHH"))
print(text1)
结果为:
HHH the bar HHH graph indicates
as the bar as graph indicates
8. 删除字符串两端字符函数
- strip()函数:删除两端空白字符,可以指定字符,返回一个新字符串。
- lstrip()函数:删除左端空白字符,可以指定字符,返回一个新字符串。
- rstrip()函数:删除右端空白字符,可以指定字符,返回一个新字符串。
代码如下:
#删除字符串两端空字符
text2 = " abcakb "
print(text2.strip())
print(text2.lstrip())
print(text2.rstrip())
#指定字符删除
text3 = "*****bschakb****"
print(text3.strip("*"))
print(text3.lstrip("*"))
print(text3.rstrip("*"))
结果为:
abcakb
abcakb #该位置右端有空字符,注意与第一个区分
abcakb
bschakb
bschakb****
*****bschakb
9. 判断字符串类型函数
- isupper()函数:判断字符串是否为全大写
- islower()函数:判断字符串是否为全小写
- isdigit()函数:判断字符串是否为全数字
- isalpha()函数:判断字符串是否为全字母
- isalnum()函数:判断字符串是否为全(字母或数字)
代码如下:
# 判断字符串类型方法
strOne ="years"
strTwo = "YEARS"
strThree = "2011222"
strFour = "afhakb5542cavd"
print(strOne.islower())#判断是否为全小写
print(strTwo.isupper())#判断是否为全大写
print(strThree.isdigit())#判断是否为全数字
print(strFour.isalpha())#判断是否为全字母
print(strFour.isalnum())#判断是否为数字或者字母
结果为:
True
True
True
False
True
10. 字符串排版函数
- center()函数:居中对齐,可填参数。
- ljust()函数:左对齐,可填参数。
- rjust()函数:右对齐,可填参数。
- zfill()函数:字符左侧以0填充,相当于右对齐,可填参数。
代码如下:
#字符串排版方法
strSix = "Hello world"
print(strSix.center(50,"-"))#字符居中对齐,宽度为50,不足的以-填充
print(strSix.ljust(50,"-"))#字符左对齐,宽度为50,不足的以-填充
print(strSix.rjust(50,"-"))#字符右对齐,宽度为50,不足的以-填充
print(strSix.zfill(50))#输出宽度为50,不足的在字符串左侧以0填充
结果为:
-------------------Hello world--------------------
Hello world---------------------------------------
---------------------------------------Hello world
000000000000000000000000000000000000000Hello world
该类函数可用于初学者制作程序初始输出界面,例如用户选择功能界面。
以上内容或有不足,欢迎广大Python学友批评指正!!!😁