内置方法
test="stevenZhou" #capitalize() v=test.capitalize()#首字母大写 #casefold() v=test.casefold()#所有变小写 #lower() v=test.lower()#比较而言,casefold更牛,很多未知的也能变小写 #center() v=test.center(20,"*")#设置宽度20并将内容居中,"*"代表用*填充一个字符,可有可无 #count() v=test.count("e")#包含字符的数量,结果为2 v=test.count("e",3,6)#3代表从位置3开始找,6代表结束位置 # encode 略 # decode #endswith() v=test.endswith("ou")#是否是以ou结尾 #startswith() v=test.startswith("ex")#是否是以ex开头 #find() v=test.find("en")#从开始位置往后找,找到第一个之后,获取其位置 #find("e",3,8)#结果:4 从开始位置3,结束位置8查找 #format() test1="i am {name}" v=test1.format(name="steven")#将字符串中的占位符替换成指定的值 test1="i am {0},age {1}" v=test1.format("steven",19) test1="i am {name},age {a}" v=test1.format_map({"name":"mark","a":19})#格式化,传入的值是字典类型 #index() v=test.index("v")#位置find,但是找不到会报错,很小用,忽略 #isalnum() v=test.isalnum()#判断字符串是否只是字母和数字 #expandtabs() test="username email password jobs jobs@qq.com 124" v=test.expandtabs(20) #以20进行断句找 ,找到 不足20的,用空格补齐 #isalpha() v=test.isalpha() #判断是否是字母(汉字) #isdigit() v=test.isdigit()#判断是否是数字 "②"判断为true ,更厉害 #isdecimal() v=test.isdecimal()#判断是否数字 #isnumeric() v=test.isnumeric()#是否是数字,"二","②"也能判断为true #isidentifier() v=test.isidentifier()#判断是否是标识符(字母,数字,下划线) 例:定义类时可以使用 #isprintable() v=test.isprintable()#字符串中是否存在不可显示的字符,有则false。比如 #isspace() v=test.isspace()#判断是否全是空格 #istitle() v=test.istitle()#判断是否是标题(所有首字母大写)如:'Hello Word'判断为True #title() v=test.title()#转化成标题 #join() 将字符串中的每一个元素按指定分隔符进行拼接 test="你是凤儿我是沙" t=' ' v=t.join(test) #结果为:“你 是 凤 儿 我 是 沙” #ljust() v=test.ljust(20,"*")#用*填充到右边,填满20个 #rjust() v=test.rjust(20,"*")# #zfill() v=test.zfill(20)#用0填充20个字符,很少用 #lower() v=test.lower()#变成小写 #upper() v=test.upper()#变成大写 #lstrip() test="assssteveasas" v=test.lstrip()#取出左边空格,还可以去除 , #rstrip() v=test.rstrip()#取出右边空格 #strip() v=test.strip()#取出两边空格 v=test.lstrip("as")#从左移除指定字符,指定字符是长字符串,优先移除较多字符,如"as",存在"assss"时会优先移除整个,strip(),rstrip()同理 #translate() # 创建对应关系,然后进行替换 v="asiduffasd" m=str.maketrans("aeiou","12345")#{97: 49, 101: 50, 105: 51, 111: 52, 117: 53} new_v=v.translate(m) #1s3d5ff1sd #partition() test="testasdstdafy" v=test.partition("s")#从左找到第一个s进行分割,分成3部分的一个元组。结果:('te', 's', 'tasdstdafy'),包含了分割的字符串“s” #rpartition() v=test.rpartition("s")#从右找第一个进行分割 #split() v=test.split("s",2)#用s进行分割,最多用2次分割。结果为['te', 'ta', 'dstdafy'] #rsplit() v=test.rsplit("s")#同split(),从右开始分割 #splitlines() test="asid uff asd" v=test.splitlines()#根据换行分割,带True,False参数,是否保留换行 #startswith() v=test.startswith("t")#是否是以“t”开头 #endswith() v=test.endswith("t")#是否以“t”结尾 #swapcase() v=test.swapcase()#大小写互换 #replace() test="stevensteven" v=test.replace("e","job",2)#参数2代表替换前2个
归纳总结
1、字符串一旦创建,不可修改,一旦修改或者拼接,都会造成重新生成字符串
2、七个方法必须会
join split find strip upper lower replace
3、其他用法
#索引,获取字符串中的某一个字符 test="stevenste" v=test[3] #切片 v=test[1:3] #获取>=0和<3的切片 #len() v=len(test)#长度,获取字符串由几个字符组成,在python2.7里汉字由3个字符组成,python3里一个,字符串,列表,元组都可以用这方法 #for循环 for i in test: print(i) #range() #break和continue在for循环中也能用,range帮助生成连续的数字,第三个数字设置步长 v=range(0,100,5) for i in v: print(i)