本文主要介绍的是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
|
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。