Python:常见的字符串处理方法总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python:常见的字符串处理方法总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含8379字,纯文字阅读大概需要12分钟。
内容图文
![Python:常见的字符串处理方法总结](/upload/InfoBanner/zyjiaocheng/856/fae1c20626784706942ff473c607660a.jpg)
#!/usr/bin/env python
# coding:UTF-8
"""
@version: python3.x
@author:曹新健
@contact: 617349013@qq.com
@software: PyCharm
@file: 常见的字符串处理方法.py
@time: 2018/10/1 20:03
"""
'''
字符串常用的方法
'''
1、find:符串,返回子字符串第一个匹配位置的偏移位置,找不到时返回-1
语法:str.find(str, beg=0, end=len(string))
str1 = "cxj is a tester !"
print(str1.find("tester"))
2、rfind:返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1
语法:str.rfind(sub, beg=0 end=len(string))
sub:查找的字符串
beg:开始查找的位置,默认为 0
end:结束查找位置,默认为字符串的长度
3、replace:完成搜索和替换,返回新字符串:
语法:str.replace(old, new[, max])
str1 = "cxj is a tester !"
print(str1.replace("tester","programmer"))
4、in:用于判断子字符是否存在,返回True和False
语法:substr in str
str1 = "cxj is a tester tester tester!"
print("cxj" in str1)
5、not in:用于判断子字符是否不存在,返回True和False
语法:substr not in str
str1 = "cxj is a tester tester tester!"
print("cxj" not in str1)
6、strip、rstrip、lstrip:用于去除特定字符,默认为去除空格,分别为两边去除、左去除、右去除
语法:str.strip(chars)
str1 = " cxj is a tester tester tester!\n"
print(str1.strip())
7、upper:将小写英文字符转换为大写字符,返回新字符串
语法:str.upper()
str1 = "! cxj is a tester tester tester!!!"
print(str1.upper(),str1,end="\n")
8、lower:将大写英文字符转换为小写字符,返回新字符串
语法:str.lower()
str1 = "! cxj is a tester tester tester!!!"
print(str1.lower(),str1,end="\n")
9、split:使用分隔符分隔字符串,返回一个分隔后的列表
语法:str.split(sep="", num=string.count(str))
aep:分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num:分割次数
str1 = "cxj is a tester tester tester!!!"
print(str1.split(" ",3))
10、splitlines:将大段字符串按行分隔,返回一个分隔后的列表
语法:str.splitlines(keepends) keepends表示是否保留每行最后的字符,比如换行符,False为
不保留,True为保留,默认为不保留
str1 = '''cxj is a tester!!!
cxj is a programmer!
cxj is a reader!
cxj is a writer!
'''
print(str1.splitlines(True))
11、join:使用于将序列中的元素以指定的字符连接生成一个新的字符串。
语法:sep.join(list|tuple...)
st1 = ('cxj', 'is', 'a', 'tester!!!')
print("%".join(str1))
12、eval:执行一个字符串表达式,并返回表达式的值
语法:eval(expression[, globals[, locals]])
expression:字符串表达式
globals:变量作用域,全局命名空间,如果被提供,则必须是一个字典对象
locals:变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
print(eval( '3 * x' )) #21
print(eval('pow(2,2)')) #4
13、+:字符串连接,返回连接后的新字符串
语法:str1 + str2
str1 = "cxj "
str2 = "is a tester!!!"
print(str1 + str2)
14、*:重复输出字符串
语法:str1 * num
str1 = "cxj is a tester!!! "
print(str1 * 3)
15、[]:通过索引获取字符串中字符,索引从0开始,可以为负数,且最后一个为-1
语法:str1[num]
str1 = "cxj is a tester!!! "
print(str1[2])
16、[n:m]:通过索引截取字符串中的一部分(索引从n到m的子字符串),[:]代表整个字符串
str1[n:m]
str1 = "cxj is a tester!!! "
print(str1[2:-1])
17、capitalize:将字符串的第一个字母变成大写,其他字母变小写
语法:str.capitalize()
str1 = "cxj is a tester!!!"
print(str1.capitalize())
18、center:返回一个原字符串居中,并使用固定字符填充至长度width的新字符串。默认填充字符为空格
语法:str.center(width[, fillchar])
width:字符串的总宽度
fillchar:填充字符
str1 = "cxj is a tester!!!"
print(str1.center(30,"*"))
19、ljust:返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原
字符串的长度则返回原字符串
语法:str.ljust(width[, fillchar])
width:指定字符串长度。
fillchar:填充字符,默认为空格。
str1 = "cxj is a tester!!!"
print(str1.ljust(30,"*"))
20、rjust:返回一个原字符串右对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原
字符串的长度则返回原字符串
语法:str.rjust(width[, fillchar])
width:指定字符串长度。
fillchar:填充字符,默认为空格。
str1 = "cxj is a tester!!!"
print(str1.rjust(30,"*"))
21、zfill:返回指定长度的字符串,原字符串右对齐,前面填充0。
语法:str.zfill(width)
width:指定字符串的长度。原字符串右对齐,前面填充0。
22、count:方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置
语法:str.count(sub, start= 0,end=len(string))
sub:搜索的子字符串
start:字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
end:字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置
str1 = "cxj is a tester!!!"
print(str1.count("t"))
23、encode:以encoding指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案
语法:str.encode(encoding='UTF-8',errors='strict')
encoding:要使用的编码,如"UTF-8"。
errors:设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。
其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通
过codecs.register_error() 注册的任何值。
str1 = "cxj is a tester!!!"
str1 = str1.encode("utf-8","strict")
print(str1)
24、decode:以encoding指定的编码格式解码字符串。默认编码为字符串编码
语法:str.decode(encoding='UTF-8',errors='strict')
encoding:要使用的编码,如"UTF-8"。
errors:设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。
其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通
过codecs.register_error() 注册的任何值。
str1 = "cxj is a tester!!!"
str1 = str1.encode("utf-8","strict")
print(str1,str1.decode("utf-8","strict"),end="\n")
25、startswith|endswith:用于判断字符串是否以指定字符开头|结尾,返回True,否则返回False。
可选参数"start"与"end"为检索字符串的开始与结束位置。
语法:str.endswith(suffix[, start[, end]]) 或者str.startswith(suffix, beg=0,end=len(string))
suffix:该参数可以是一个字符串或者是一个元素。
start:字符串中的开始位置。
end:字符中结束位置。
str1 = "cxj is a tester!!!"
print(str1.endswith("!!!"))
26、format:格式化字符串
详见:https://blog.csdn.net/caoxinjian423/article/details/82885730
27、index:检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检
查是否包含在指定范围内,返回子字符串第一个匹配位置的偏移位置,找不到时抛出异常
语法:str.index(str, beg=0, end=len(string))
str1 = "cxj is a tester!!!"
print(str1.index("tester"))
28、rindex返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定
可选参数[beg:end]设置查找的区间
语法:str.rindex(sub, beg=0 end=len(string))
sub:查找的字符串
beg:开始查找的位置,默认为0
end:结束查找位置,默认为字符串的长度。
29、isalnum:检测字符串是否由字母和数字组成,返回True或者False
语法:str.isalnum()
30、isalpha:检测字符串是否只由字母组成
语法:str.isalpha()
31、isdecimal:检查字符串是否只包含十进制字符
语法:str.isdecimal()
str1 = "376"
print(str1.isdecimal())
32、isdigit:检测字符串是否只由数字组成
语法:str.isdigit()
33、islower:检测字符串是否由小写字母组成
语法:str.islower()
34、isnumeric:检测字符串是否只由数字组成
语法:str.isnumeric()
str1 = "376"
print(str1.isnumeric())
35、isspace:检测字符串是否只由空格组成
语法:str.isspace()
36、istitle:检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写
语法:str.istitle()
37、isupper:检测字符串中所有的字母是否都为大写
语法:str.isupper()
38、maketrans:用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符
串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
PS:两个字符串的长度必须相同,为一一对应的关系
语法:str.maketrans(intab, outtab[,delchars]) #python3的语法,str为标准库名
intab:需要转换的字符组成的字符串。
outtab:转换的目标字符组成的字符串。
delchars:可选参数,表示要删除的字符组成的字符串。
translate:根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到
del 参数中。
语法:str.translate(table[, deletechars]);
table:翻译表,翻译表是通过maketrans方法转换而来。
deletechars:字符串中要过滤的字符列表。
str1 = "cxj is a tester!!!"
intab = "abcde"
outtab = "12345"
delchars = "!"
table = str.maketrans(intab,outtab,delchars)
print(str1.translate(table))
39、max:返回字符串中最大的字母
语法:max(str)
40、min:返回字符串中最小的字母
语法:min(str)
41、partition:用来根据指定的分隔符将字符串进行分割。 如果字符串包含指定的分隔符,则返回一
个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
语法:str.partition(sep)
str1 = "cxj is a tester!!!"
print(str1.partition(" "))
#结果:('cxj', ' ', 'is a tester!!!')
42、rpartition:类似于 partition() 方法,只是该方法是从目标字符串的末尾也就是右边开始搜索分割
符。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分
隔符本身,第三个为分隔符右边的子串。
语法:str.rpartition(sep)
43、swapcase:用于对字符串的大小写字母进行转换。
语法:str.swapcase()
44、title:返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写
语法:str.title()
内容总结
以上是互联网集市为您收集整理的Python:常见的字符串处理方法总结全部内容,希望文章能够帮你解决Python:常见的字符串处理方法总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。