本文主要介绍的是python3中对str(字符串)的使用操作总结,文中介绍的非常详细,需要的朋友们下面来一起看看吧。
__add__函数 (在后面追加字符串)
1
2
3
4
5
|
s1 = 'Hello' s2 = s1.__add__( ' boy!' ) print (s2) #输出:Hello boy! |
__contains__(判断是否包含某字符串,包含则返回True)
1
2
3
4
5
|
s1 = 'Hello' result = s1.__contains__( 'He' ) print (result) #输出:True |
__eq__(判断两个字符串是否相同,相同则返回True)
1
2
3
4
5
6
|
s1 = 'Hello' s2 = 'How' result = s1.__eq__(s2) print (result) #输出:False |
__format__
1
|
#占位 |
__getattribute__
1
|
#占位 |
__getitem__
1
|
#占位 |
__getnewargs__
1
|
#占位 |
__ge__ (大于或等于)
1
2
3
|
print ( 'b' .__ge__( 'a' )) #输出:True |
__gt__(大于)
1
2
3
|
print ( 'b' .__ge__( 'a' )) #输出:True |
__hash__
1
|
#占位 |
__iter__
1
|
#占位 |
__len__(返回字符串长度)
1
2
3
|
print ( 'abc' .__len__()) #输出:3 |
__le__(小于或等于)
1
2
3
|
print ( 'b' .__le__( 'a' )) #输出:False |
__lt__(小于)
1
2
3
|
print ( 'b' .__lt__( 'a' )) #输出:False |
__mod__
1
|
#占位 |
__mul__
1
|
#占位 |
__new__
1
|
#占位 |
__ne__
1
|
#占位 |
__repr__
1
|
#占位 |
__rmod__
1
|
#占位 |
__rmul__
1
|
#占位 |
__sizeof__
1
|
#占位 |
__str__(返回自已)
1
2
3
|
print ( 'abc' .__str__()) #输出:abc |
capitalize(首字母大写)
1
2
3
4
|
s = 'tom' print (s.capitalize()) #输出:Tom |
casefold(大写转换成小写)
1
2
3
4
|
s = 'TOM' print (s.casefold()) #输出:tom |
center (指定长度和填充字符,内容居中,填充字符留空则为空格)
1
2
3
4
|
s = 'Tom' print (s.center( 20 , '-' )) #输出:--------Tom--------- |
count(计算某个字符串出现的个数,第二个参数:起始位置,第三个参数:结束位置)
1
2
3
4
|
s = 'aabbbcccccdd' print (s.count( 'cc' , 3 , 11 )) #输出:2 |
encode(编码)
1
2
3
4
|
s = "中文" print (s.encode( 'gbk' )) #输出:b'\xd6\xd0\xce\xc4' |
endswith(判断字符串是否以某个字符或字符串结尾的,第二个参数:起始位置,第三个参数:结束位置)
1
2
3
4
5
6
|
s = 'Projects' print (s.endswith( 'ts' )) print (s.endswith( 'e' , 0 , 5 )) #输出:True # True |
expandtabs(把1个tab键转换成7个空格)
1
2
3
4
|
s = 'H\ti' print (s.expandtabs()) #输出:H i |
find(查找某个字符或字符串的索引位置,第二个参数:起始位置,第三个参数:结束位置)
1
2
3
4
5
6
|
s = 'Hello' print (s.find( 'o' )) print (s.find( 'o' , 0 , 3 )) #找不到返回-1 #输出:4 # -1 |
format(字符串格式化/拼接)
1
2
3
4
5
6
7
8
9
10
11
12
|
name = 'Tom' age = 18 s = '{0}\'s age is {1}' . format (name,age) print (s) #或者 str = '{name}\'s age is {age}' result = str . format (age = 18 ,name = 'Tom' ) print (result) #输出:Tom's age is 18 |
format_map
1
|
#占位 |
index(查找某个字符或字符串的索引位置,和find不一样是,如果字符不存在,会报错)
1
2
3
4
5
6
|
s = 'Hello' print (s.index( 'o' )) print (s.index( 'e' , 0 , 3 )) #输出:4 # 1 |
isalnum(是否为字母或数字)
1
2
3
4
|
s = '!#' print (s.isalnum()) #输出:False |
isalpha(是否为字母)
1
2
3
4
|
s = '123' print (s.isalpha()) #输出:False |
isdecimal(是否为十进制数)
1
2
3
4
5
6
7
8
|
s = '123' print (s.isdecimal()) #输出:True #True: Unicode数字,,全角数字(双字节) #False: 罗马数字,汉字数字 #Error: byte数字(单字节) |
isdigit(是否为数字)
1
2
3
4
5
6
7
|
s = '123' print (s.isdigit()) #输出:True #True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字 #False: 汉字数字 |
isidentifier(是否为标识符/变量名)
1
2
3
4
5
|
s = '1num' print (s.isidentifier()) #输出:False #因为变量名不能以数字开头 |
islower(是否全部为小写字母)
1
2
3
4
|
s = 'Hello' print (s.islower()) #输出:False |
isnumeric(是否为数字)
1
2
3
4
5
6
|
s = '123' print (s.isnumeric()) #输出:True #True: Unicode数字,全角数字(双字节),罗马数字,汉字数字 |
isprintable(是否为可打印字符/能否原样输出)
1
2
3
4
|
s = '\n' print (s.isprintable()) #输出:False |
isspace(是否为空格)
1
2
3
4
5
|
print ( ' ' .isspace()) print ( '\t' .isspace()) #输出:True # True |
istitle(是否为标题/每个单词首字母大写)
1
2
3
4
5
|
print ( 'Hello Boy' .istitle()) print ( 'hello boy' .istitle()) #输出:True # False |
isupper(是否全部为大写字母)
1
2
3
4
5
|
print ( 'BOY' .isupper()) print ( 'Boy' .isupper()) #输出:True # False |
join(将序列中的元素以指定的字符连接生成一个新的字符串)
1
2
3
4
5
6
|
s = [ 'H' , 'e' , 'l' , 'l' , 'o' ] print (''.join(s)) print ( '-' .join(s)) #输出:Hello # H-e-l-l-o |
ljust(指定长度和填充字符,内容左对齐,填充字符留空则为空格)
1
2
3
4
|
s = 'Hello' print (s.ljust( 10 , '-' )) #输出:Hello----- |
lower(字符串全部换成小写)
1
2
3
4
|
s = 'TOM' print (s.lower()) #输出:tom |
lstrip(移除字符串左侧指定的字符,默认为空格)
1
2
3
4
|
s = ' Tom' print (s.lstrip()) #输出:Tom |
maketrans(创建字符映射的转换表,配合translate函数使用)
1
2
3
4
5
6
7
8
|
intab = "abcde" outtab = "12345" trantab = str .maketrans(intab, outtab) str = "Hello abc" print ( str .translate(trantab)) #输出:H5llo 123 |
partition( 指定分隔符,将字符串进行分割)
1
2
3
4
|
s = 'IamTom' print (s.partition( 'am' )) #输出:('I', 'am', 'Tom') |
replace(把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。)
1
2
3
4
|
s = 'Tom' print (s.replace( 'm' , 'o' )) #输出:Too |
rfind(从右边查找指定字符串出现的位置,如果没有匹配项则返回-1)
1
2
3
4
5
6
|
s = 'one two one' print (s.rfind( 'one' )) print (s.rfind( 'one' , 0 , 6 )) #指定起始和结束位置 #输出:8 # 0 |
rindex(从右边查找指定字符串出现的位置,如果没有匹配项则报错)
1
2
3
4
5
6
|
s = 'one two one' print (s.rindex( 'one' )) print (s.rindex( 'one' , 0 , 6 )) #指定起始和结束位置 #输出:8 # 0 |
rjust(指定长度和填充字符,内容右对齐,填充字符留空则为空格)
1
2
3
4
|
s = 'Hello' print (s.rjust( 10 , '-' )) #输出:-----Hello |
rpartition( 指定分隔符,从右边开始将字符串进行分割)
1
2
3
4
|
s = 'IamTom_IamTom' print (s.rpartition( 'am' )) #输出:('IamTom_I', 'am', 'Tom') |
rsplit(指定分隔符对字符串进行切片,如果指定第二个参数num,则只分隔num次,最后返回一个列表)
1
2
3
4
5
6
|
s = 'a b c d' print (s.rsplit()) print (s.rsplit( ' ' , 2 )) #从右边开始,按空格分隔两次 #输出:['a', 'b', 'c', 'd'] # ['a b', 'c', 'd'] |
rstrip(删除字符串末尾的指定字符,默认为空格)
1
2
3
4
|
s = '!!! I am Tom !!!' print (s.rstrip( '!' )) #输出:!!! I am Tom |
split(指定分隔符对字符串进行切片,如果指定第二个参数num,则只分隔num次,最后返回一个列表)
1
2
3
4
5
6
|
s = 'a b c d' print (s.split()) print (s.split( ' ' , 2 )) #从左边开始,按空格分隔两次 #输出:['a', 'b', 'c', 'd'] # ['a', 'b', 'c d'] |
splitlines(按换行符来分隔字符串,返回一个列表)
1
2
3
4
5
6
|
s = 'a\nb\nc' print (s.splitlines()) #默认参数为False print (s.splitlines( True )) #指定Ture参数,则保留换行符 #输出:['a', 'b', 'c'] # ['a\n', 'b\n', 'c'] |
startswith(判断字符串是否以某个字符或字符串开头的,第二个参数:起始位置,第三个参数:结束位置)
1
2
3
4
5
6
|
s = 'Projects' print (s.startswith( 'Pr' )) print (s.startswith( 'e' , 4 , 8 )) #输出:True # True |
strip(删除字符串前后的指定字符,默认为空格)
1
2
3
4
|
s = '!!! I am Tom !!!' print (s.strip( '!' )) #输出: I am Tom |
swapcase(大小写互换)
1
2
3
4
|
s = 'I am Tom' print (s.swapcase()) #输出:i AM tOM |
title(转换成标题,就是每个单词首字母大写)
1
2
3
4
|
s = 'i am tom' print (s.title()) #输出:I Am Tom |
translate(根据maketrans方法创建的表,进行字符替换)
1
2
3
4
5
6
7
8
|
intab = "abcde" outtab = "12345" trantab = str .maketrans(intab, outtab) str = "Hello abc" print ( str .translate(trantab)) #输出:H5llo 123 |
upper(小写转换成大写)
1
2
3
4
|
s = 'Hello' print (s.upper()) #输出:HELLO |
zfill(指定字符串的长度。原字符串右对齐,前面填充0)
1
2
3
4
|
s = 'Hello' print (s.zfill( 10 )) # 输出:00000Hello |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。