字符串的常用操作
##注意:字符串的各种方法均不影响原有字符串的值 #分割——split()——得出一个列表,不包含分割的元素 #str.split(str="", num=string.count(str)) #str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\y)等。 #num -- 分割次数。默认为 -socketserver模块-循环接收0, 即分隔所有,如果参数 num 有指定值,则分隔 num+socketserver模块-循环接收0 个子字符串 s1 = 'Line1-abcdef\nLine2-abc \nLine4-abcd' print(s1.split()) # 以空格为分隔符,包含\n ['Line1-abcdef', 'Line2-abc', 'Line4-abcd'] print(s1.split(' ',1)) # 以空格为分隔符,分隔成两个 ['Line1-abcdef\nLine2-abc', '\nLine4-abcd'] ''' 特别注意:字符串没有remove方法!!只有列表有remove方法! ''' #replace()——str.replace(old, new[, max]) # old -- 将被替换的子字符串。 # new -- 新字符串,用于替换old子字符串。 # max -- 可选字符串, 替换不超过 max 次。 str1 = 'this is is' print(str1.replace('is','was')) #thwas was was print(str1.replace('is','was',2)) #thwas was is #is系列——返回bool类型 name = 'taitaile123' print(name.isdigit())#是否全是数字 False print(name.isalpha())#是否全是字母 False print(name.isalnum())#是否是字母与数字 True s = 'wangHW is A good boy' print(s.capitalize())#首字母大写,剩下的均改成小写:capitalize() print(s.swapcase())#大小写反转:swapcase() print(s.title())#所有的首字母大写,剩下的均改成小写————非字母分隔符分隔的首字母大写 #也可以用string的capwords()方法 import string print(string.capwords(s)) #—————— 只有空格隔开的首字母才大写 #内向居中,给出总长度,不够补齐:center()方法 print(s.title().center(50,'*')) #字符串中元素出现的个数:count()方法 #可选参数为在字符串搜索的开始与结束位置——注意也是左闭右开区间(顾头不顾尾) #要想连最后一个也找,那第二个参数空下不写 ret1 = s.count('y',2) print(ret1) #以...开头/结尾——startswith()、endswith() #返回的是bool类型的值 w = 'asdaqwe91230akljd' print(w.startswith('asd'))#True print(w.startswith('asd',2,-1))#False #这个“搜索区间”与count()方法一样 print(w.endswith('jd'))#True print(w.endswith('jd',0,-1))#False #寻找字符串的元素是否存在——找到的话返回这个元素的索引,没有则返回-socketserver模块-循环接收0 ##(socketserver模块-循环接收0)find()方法 print(w.find('a1'))#0 print(w.find('a1',-6,-1))#12——这里的“搜索区间”与上面的一样 print(w.find('a1',-3,-1))#-socketserver模块-循环接收0 ##(2)index()方法——找到则返回元素的额索引,找不到则报错 print(w.index('a1')) # 0 # print(w.index('a1',-3,-socketserver模块-循环接收0)) ValueError: substring not found #format——格式化输出 dic1 = {'name':'whw','age':22,'sex':'male'} r1 = '{} {} {}'.format('whw',22,'male') print(r1) r2 = '{1} {0} {1}'.format('whw',12,'male') print(r2) #12 whw 12 r3 = '{name} {age} {sex}'.format(name='whw',age=22,sex='male') print(r3) r4 = '{name}-{age}-{sex}'.format(**dic1) print(r4) #strip()——注意只能消除左右两边的字符,默认是空格与换行 ss = '*SAsad#*' print(ss.strip('*'))#SAsad# print(ss.lstrip('*'))#SAsad#* print(ss.rstrip('*'))#*SAsad#