Python字符串处理方法与操作详解
本文系统介绍了Python中字符串的常用处理方法与操作技巧。内容涵盖字符串包含判断、相等性比较、多种拼接方式(包括%s格式与format)、大小写转换、居中与填充、编码处理、查找定位(find与index)、分割与连接(split/join)、替换以及标题格式转换等核心功能。通过具体代码示例,帮助开发者掌握字符串操作的关键参数与返回值,提升代码编写效率。
一:字符串的方法与操作
注意:方法名以字母l开头表示从左侧进行操作,以r开头则表示从右侧进行操作。
1. __contains__() 判断是否包含
该方法用于判断指定的字符或子字符串是否存在于当前字符串中,返回值类型为布尔值,即True或False。
str1="asdfgh"
print(str1.__contains__('a'))
print(str1.__contains__("df"))
print(str1.__contains__('r'))
运行结果:
True
True
False
其功能与运算符in相似。
str1="asdf"
print('s' in str1)
运行结果:
True
2. __eq__() 相等判断
用于判断两个字符串内容是否完全相等,返回值类型为True或False。
str1="asdf"
print(str1.__eq__("asdf"))
print(str1.__eq__("addfd"))
运行结果:
True
False
3. 字符串相加可以使用%s+方式
str1="asd" str2="fgh" str3=str1+str2 str4="%s%s"%(str1,str2) print(str3) print(str4)
运行结果:
"asdfgh"
"asdfgh"
4. format字符串拼接
str1="as{0}dsz{1}"
result=str1.format("hu","ui")
print(result)
str2="as{id}dsfdfz{name}"
result=str2.format(id="hu",name="ui")
#在format里面的变量不能到外面去使用
print(result)
运行结果:
"ashudszui"
"ashudsfdfzui"
5. capitalize() 字符串首字母大写
str1="asdfg" print(str1.capitalize())
运行结果:
"Asdfg"
6. casefold() 首字母小写
str1="ASDFG" print(str1.capitalize())
运行结果:
"aSDFG"
7. center() 把内容居中,支持两个参数
该方法可以接受一个或两个参数,第二个参数为填充字符,默认为空格。
str1="sdfg" print(str1.center(20)) print(str1.center30,'*'))
运行结果
sdfg *************sdfg*************
8. encode() 编码
用于更改字符串的编码格式。
str1="兰艳茹"
print(str1.encode("gbk"))
运行结果:
b'\xc0\xbc\xd1\xde\xc8\xe3'
9. endswith() 判断字符串是否以某字符结尾
str1="asdfdgdghfh"
print(str1.endswith('h'))
print(str1.endswith('e'))
运行结果:
True False
10. expandtabs() 把tab转换成空格\t
此方法在实际应用中可能使用频率较低。
str1="sdfdf\t1ws" print(str1) print(str1.expandtabs())
运行结果:
sdfdf 1ws sdfdf 1ws
11. find() 查找字符在字符串中的位置,未找到返回-1,可指定起始和结束位置
str1="sdgfhfh"
print(str1.find('h'))
print(str1.find('a'))
运行结果:
4 -1
12. index() 返回位置
返回字符在字符串中的索引位置,若未找到则抛出错误。
str1="sdgfhfh"
print(str1.index('h'))
print(str1.index('a'))
运行结果:
4
Traceback (most recent call last):
File "/usercode/file.py", line 8, in
print(str1.index('a'))
ValueError: substring not found
13. join() 用于拼接,""代表分隔符,可自定义
str1=['s','o','n','g',]
print("".join(str1))
print(str1)
print("-".join(str1))
运行结果:
song ['s', 'o', 'n', 'g'] s-o-n-g
14. ljust() 左对齐,同center类似
与center类似,用于在一行中对字符串进行定位,ljust表示从左面开始定位,参数指定自左开始的总长度。
str1="qeretry" print(str1.ljust(10,'+'')) print(str1.ljust(20,'-')) print(str1.ljust(30)) print(str1.ljust(30,'*'))
运行结果:
qeretry+++ qeretry------------- qeretry qeretry***********************
15. lower() 转换为小写
将字符串全部转换为小写。
str1="AsdFGd" print(str1.lower()) print(str1
运行结果:
asdfgd AsdFGd
16. lstrip() 去除左边空格
str1=" ddfd " print(str1.lstrip())
运行结果:
ddfd
17. maketrans() 与 translate() 方法
这两个方法通常需要结合使用。
str1="12345" str2="asdfg" aa="afgjdfhd" makes=aa.maketrans(str2,str1) print(aa.translate(makes))
运行结果:
145j34h3
18. partition("分割的字符") 分割
str1="woaipython"
print(str1.partition("ai"))
运行结果:
('wo', 'ai', 'python')
19. replace() 替换
name.replace('老字符','新字符')
name.replace('老字符','新字符',‘转换几个')
str1="asdfghjkladadafgasag"
print(str1.replace('a','p'))
print(str1.replace('a','q',3))
运行结果:
psdfghjklpdpdpfgpspg qsdfghjklqdqdafgasag
20. rfind()
使用方法同find,区别在于从右向左查找。
21. rjust()
使用方法同ljust,区别在于从右向左对齐。
22. rsplit() 指定字符,分割字符串
被指定的分隔字符会被删除。
str1="qwetatrassongsdchengxcxu"
print(str1.rsplit('s'))
运行结果:
['qwetatra', '', 'ong', 'dchengxcxu']
23. splitlines() 根据换行符进行分割,等同于split('\n')
str1='''"aa""bb""cc" ''' print(str1.splitlines()) str1='''"aa" "bb" "cc" ''' print(str1.splitlines())
运行结果:
['"aa""bb""cc"'] ['"aa"', '"bb"', '"cc"']
24. startswith() 以什么开头
判断字符串是否以指定的字符或字符串开头。
str1="adgdfgsdf"
print(str1.startswith('a'))
print(str1.startswith("ad"))
print(str1.startswith("ddd"))
运行结果:
True True False
25. swapcase() 大小写转换,大变小,小变大
str1="dsDDfFDSSSSSFFqqq" print(str1.swapcase())
运行结果:
DSddFfdsssssffQQQ
26. title() 把字符串转换成标题格式,即首字母大写
str1="dkjgdkgj" print(str1.title())
运行结果:
Dkjgdkgj
二:总结
1. 常用方法
center(),startswith(),ljust(),rjust(),__eq__(),partition(),replace(),rsplit(),splitlines(),lstrip(),rstrip(),strip(),join(),index(),format()
2. 注意养成习惯:无论是元组,列表,还是字典,在元素后面加上逗号eg:str=['1','a',]
总结
以上所述是小编给大家介绍的python字符串的方法与操作大全,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对本站网站的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









