3.字符串常用知识汇总
2018-05-19 本文已影响0人
honestpan
字符串常用方法
- center
#设置字符串长度是40,hello居中,其他用空格替换
hello = "hello".center(40)
print(len(hello))#40
print(hello)# hello
#设置字符串长度是40,hello居中,其他用星号替换
world = "world".center(40,'*')
print(world)#*****************world******************
- find
在字符串中查找子串。如果找到,就返回子串的第一个字符的索引,否则返回-1
sup = "hello world foo"
sub = sup.find("foo")
sub2 = sup.find("hello",1)
sub3 = sup.find("world",1,-3)
# sub = 12,sub2 = -1,sub3 = 6
print("sub = %d,sub2 = %d,sub3 = %d" %(sub,sub2,sub3))
- join
合并序列的元素
序列中的元素必须都是字符串,否则报错
list1 = ['hello','wc',1,2]
#TypeError: sequence item 2: expected str instance, int found
print(".".join(list1))
list2 = ['a','b','1','2']
# a.b.1.2
print(".".join(list2))
- lower
转为小写
string3 = 'HELLo'
string4 = string3.lower()
print("string4 = " + string4) #string4 = hello
- replace
#单次替换
print("perl".replace('erl','ython'))
#指定替换的次数
print("perl perl".replace('erl','ython',2))
- split
将字符串拆为序列
string5 = 'a.b.c'
string6 = string5.split('.')
print(string6)#['a', 'b', 'c']
- strip
去掉字符串两边的空格
# 默认删除空格
string7 = ' a b c '
print(string7.strip())#a b c
# 指定删除字符
string7 = '**!abc!**'.strip('*')
print(string7)# !abc!
# 指定删除哪些字符
string7 = '**!abc!**'.strip('*!')
print(string7)# abc
- translate
单个字符的替换,效率高于replace
#1.创建一个转化表,即 s -> z p -> x
table = str.maketrans('sp','zx')
#2.使用translate
print("this is apple".translate(table)) #thiz iz axxle
#还可以指定第三个参数,代表要删除哪些字符,下面是删除空格和字符i
table2 = str.maketrans('sp','zx',' i')
print("this is apple".translate(table2)) #thzzaxxle
- 判断字符串是否满足特定的条件
isalnum() 字符串中的字符是否都是字母或数字
isalpha() 字符串中的字符是否都是字母
isdigit() 字符串中的字符是否都是数字
islower() 字符串中的所有字母都是小写
string9 = "hel9988"
if string9.islower() :
print("yes")
else:
print("no")
yes
isupper() 字符串中的字母是否都是大写的