字符串的常用操作

##注意:字符串的各种方法均不影响原有字符串的值

#分割——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#

 

posted on 2019-05-20 21:56  江湖乄夜雨  阅读(131)  评论(0编辑  收藏  举报