pythonString

文章目录

python string 字符串的方法

1. str.capitalize() 返回字符串副本,将第一个字母大写

str = 'wangyinvan'
str1 = str.capitalize()
print(str1)
Wangyinvan
2. str.casefold() 返回经过标准化的字符串,类似于转换为小写.该方法适合用于对Unicode字符串进行不区分大小写的比较
str1 = 'WANG'
strlow = str1.casefold()
print(strlow)
wang
3. str.center(width[,fillchar]) 返回一个长度为width的字符串,中间包含当前字符串,两端用fillchar填充
str2 = 'wang'
print('str2原样:',str2)
str2_1 = str2.center(10,'_')
print(str2_1)
str2原样: wang
___wang___
4. str.count(sub[,start][,end]) 计算字串sub出现的次数,可以指定搜索范围
strc = 'good good study ,day day up'
countd = strc.count('d')
print(countd)
5
5. str.encode([encoding[,errors]]) 返回用指定编码和errors指定的错误处理方式对字符串进行编码的结果。
    --参数errors可以取值strict、ignore、rpalce(严格、忽略、替换)等
6. str.endwith(suffix[,start[,end]]) 检查字符串是否以suffix结尾
7. str.expandtabs([tabsize]) 返回将字符串中的制表符展开为空格后的结果,可指定可选参数tabsize
stra = 'wang\tyin\t can'
print(stra)
strb = stra.expandtabs()
print(strb)
strc = stra.expandtabs(2) #指定tab占两个空格
print(strc)  
wang	yin	 can
wang    yin      can
wang  yin  can
8. str.find(sub[start[,end]]) 返回找到的第一个子串的索引,没找到返回-1
9. str.format(…) 标准python字符串格式设置。
strf = 'wang{}yincan{}'
print(strf.format('AA','BB'))
strf = 'wang{1}yincan{0}'
print(strf.format('AA','BB'))
wangAAyincanBB
wangBByincanAA
10. str.format_map(mapping) 类似于使用关键字参数调用format,只是参数以映射的方式提供的
point = {'x':4,'y':-5}
print('{x} {y}'.format(**point))
4 -5
11. str.index(sub[,start[,end]]) 返回找到的第一个子串sub的索引
sSub = 'yin'
sStr = 'Wangyincan'
print(sStr.index(sSub))
4
12. str.isalnum() 检查字符串中的字符是否都是字母或数字,注意的是它检查的是字母或数字
sStr1 = 'wangyincan@'
sStr2 = 'wang123'
sStr3 = '124516346'
sStr4 = '123455d_'
print(sStr1.isalnum())
print(sStr2.isalnum())
print(sStr3.isalnum())
print(sStr4.isalnum())
False
True
True
False
13. str.isalpha() 检查字符串中的字符是否都是字母
14. str.isdecimal() 检查字符串中的字符是否都是十进制数字
15. str.isdigit() 检查字符串中的字符是否都是数字

python 中isdigit()、isdecimal()、isnumeric()的区别

num = "1"  #unicode
num.isdigit()   # True
num.isdecimal() # True
num.isnumeric() # True

num = "1" # 全角
num.isdigit()   # True
num.isdecimal() # True
num.isnumeric() # True

num = b"1" # byte
num.isdigit()   # True
num.isdecimal() # AttributeError 'bytes' object has no attribute 'isdecimal'
num.isnumeric() # AttributeError 'bytes' object has no attribute 'isnumeric'

num = "IV" # 罗马数字
num.isdigit()   # True
num.isdecimal() # False
num.isnumeric() # True

num = "四" # 汉字
num.isdigit()   # False
num.isdecimal() # False
num.isnumeric() # True

'''
isdigit()
True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
False: 汉字数字
Error: 无

isdecimal()
True: Unicode数字,,全角数字(双字节)
False: 罗马数字,汉字数字
Error: byte数字(单字节)

isnumeric()
True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
False: 无
Error: byte数字(单字节)
'''
15. str.isidentifier() 检查字符串是否可以用作python的标识符
'def'.isidentifier()
# True

'with'.isidentifier()
# True

'false'.isidentifier()
# True

'dobi_123'.isidentifier()
# True

'dobi 123'.isidentifier()
# False

'123'.isidentifier()
# False
False
16. str.islower() 检查字符串中所有字母都是小写的
17. str.isnumeric()
18. str.isprintable() 检查字符串中的字符是否否可以打印
19. str.isspace() 检查字符串中的字符是否都是空白的
sStr = '  ' #空格
print(sStr.isspace())
sStr = '' #没有字符
print(sStr.isspace())
sStr = '\t' #tab
print(sStr.isspace())
sStr = '\n' #换行
print(sStr.isspace())
True
False
True
True
20. str.istitle() 检查字符串中位于非字母后面的字母都是大写字母,且其他所有的字母都是小写的
21. str.isupper() 检查字符串中的字母是否都是大写的
22. str.join(sequence) 将string与sequence中的所有元素合并为一个字符串
lSeq = ['1','2','3'] # 序列中的元素必须是字符串
sStr = 'wamg'
print(sStr.join(lSeq))
1wamg2wamg3
23. str.ljust(width[,fillchar]) 返回一个长度为max(len(string),width)的字符串,其开头是当前字符串的副本,末尾用filechar字符填充
sStr = 'abc'
sStr2 = sStr.ljust(12,'v')
print(sStr2)
abcvvvvvvvvv
24. str.lower() 将字符串中的所有字符都转换成小写,并返回字符串
s1 = "WANG"
s2 = s1.lower()
print(s2)
wang
25. str.lstrip([chars]) 将字符串中所有的开头chars都删除,默认为空格、制表、换行
s1 = "   af   "
s2 = s1.lstrip()
print(len(s2))
print(s2)
# 从输出结果可以看出,并不删除尾部空格
5
af   
26. str.maketrans(x[,y[,z]]) 静态方法,创建一个供rtranslate方法使用的转换表。
  • 如果仅仅指定了x,它必须是从字符或序数到unicode序数或none的映射;
  • 两个参数表示原字符和目标字符的字符串调用它
  • 三个参数,第三个参数指定要删除的字符
27. str.partition(sep) 将字符串按dep拆分成元组(sep前部分,sep,sep后部分)
s1 = "abcdabcd"
s1.partition("c")
('ab', 'c', 'dabcd')
28. str.replace(old,new[,max]) 将字符串中的子串替换为new,并返回结果,max为指定最大替换次数
s1 = "abcabcabc"
s2 = s1.replace('a','x')
# 根据输出可知,并没有替换原字符串,而是返回新的字符串
print(s1)
print(s2)
abcabcabc
xbcxbcxbc
29. rfind(sub[,start[,end]]) 返回找到最后一个子串的索引,没找到返回-1,显然参数 start和end 指定查找范围
30. rindex(sub[,start[,end]])) 功能基本同rfind相同,不同之处 ,该函数没找到将引发valueError异常
31. str.rjust(width[,fillchar]) 返回一个长度为width的字符串,其末尾为当前字符串的拷贝,开头用fillchar填充
32. str.rpartition(sep) 与partition方法相同,但是它是从右向左搜索的
33. str.rstrip([chars]) 将字符串末尾的所有chars字符都删除,默认为空格、空白、制表、换行
34. str.rsplit([sep[, maxsplit]]) maxsplit指定划分次数,以sep作为划分,如果没有指定sep将以空白符划分,从右向左计数
35. str.split([sep[, maxsplit]]) 方法与rsplit() 相同,不同之处是,从左向右计算
36. str.splitlines([keepends]) 返回一个列表,包含字符串中的所有行;若参数为true,将包含换行符
s1 = 'abc\nabc\nsdc\n'
s2 = s1.splitlines()
s3 = s1.splitlines(True)

print(s2)
print(s3)

['abc', 'abc', 'sdc']
['abc\n', 'abc\n', 'sdc\n']
37. str.startwith(prefix[,start[,end]]) 检查字符串是否以prefix开头,还可以限制范围
38. str.strip([chars]) 将字符串开头和结尾的参数chars都删除,默认为:空白、空格、制表和换行
39. str.swapcase() 将所有的字母都大小写反转,并返回结果。
40. str.title() 将字符串中所有的单词首字母大写,并返回结果
41. str.translate(table) 根据转换表table对字符串中所有字符都进行转换,并返回结果
该方法一般和
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值