#字条串的操作
#no.1 strip,lstrip,rstrip 队去你指定的字符,指定的字符必须在最左边和最右边才能去掉,不然剥不掉的哦
'''name = '*chenlc*'
print(name.strip('*'))
print(name.lstrip('*'))
print(name.rstrip('*'))
name='chenlca'
print(name.strip('c'))
'''
#no.2 starswith,endswith 判断字符串是不是以你指定的字符开始或结尾,如果是则返回True,否测返回False
"""
name='ales_SB'
print(name.startswith('al'))
print(name.endswith('Sb'))
"""
#no.3 replace,替换,把字符串里的指定的字符替换成你的字符,还可以指定替换的字数,从左往右的顺序。
'''
name="my name is sacus,i have a car"
print(name.replace('a',"B",2))
'''
#no.4 format
'''
res='{} {} {}'.format('egon',18,'male')
print(res)
res='{1} {0} {1}'.format('egon',18,'male')
print(res)
res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
print(res)
#result below
egon 18 male
18 egon 18
egon 18 male
'''
#no.5 find,rfind,index,rindex,count,查找你要找的字符有没有,有的话,返回第一个装置的下标
'''
name='egon say hello hello'
print(name.find('y',1,30)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
print(name.index('n',0,30)) #同上,但是找不到会报错
print(name.count('o',1,30)) #顾头不顾尾,如果不指定范围则查找所有,返回的是数量
'''
#no.6 split,rsplit打印出来的是一个列表啊,默认的分隔符是空格
'''
name='root:x:0:0::/root:bin/bash'
print(name.split(':'))
name='C:/a/b/c/d.txt' #只想拿到顶级目录
print(name.split('/',1)) #只划分一次
name='a|b|c'
print(name.rsplit('|',1)) #从右开始切分
#result:
['root', 'x', '0', '0', '', '/root', 'bin/bash']
['C:', 'a/b/c/d.txt']
['a|b', 'c']
'''
#no.7 join
"""
tag=' '
print(tag.join(['egon','say','hello','world'])) #可迭代对象必须都是字符串
"""
#no.8 center,ljust,rjust,zfill
'''
name='egon'
print(name.center(10,'A'))
print(name.ljust(10,'*'))
print(name.rjust(10,'*'))
print(name.zfill(10)) #用0填充
#result:
AAAegonAAA
egon******
******egon
000000egon
'''
#no.9 expandtabs,下面的数字决定tab的空格数量
'''
name='egon\thello'
print(name)
print(name.expandtabs(2))
#result:
egon hello
egon hello
'''
#no.10 lower upper 变成小写和大写
'''name='saCus'
print(name.lower(),name.upper())
#result
sacus SACUS
'''
#no. 11 captalize,swapcase,title
'''name='sAcUs'
print(name.capitalize()) #首字母大写
print(name.swapcase()) #大小写翻转
msg='sacus say hello'
print(msg.title()) #每个单词的首字母大写
'''
#no. 12 是否是数字系列
#在python3中
"""
num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3='四' #中文数字
num4='Ⅳ' #罗马数字
#isdigt:bytes,unicode
print(num1.isdigit()) #True
print(num2.isdigit()) #True
print(num3.isdigit()) #False
print(num4.isdigit()) #False
#isdecimal:uncicode
#bytes类型无isdecimal方法
print(num2.isdecimal()) #True
print(num3.isdecimal()) #False
print(num4.isdecimal()) #False
#isnumberic:unicode,中文数字,罗马数字
#bytes类型无isnumberic方法
print(num2.isnumeric()) #True
print(num3.isnumeric()) #True
print(num4.isnumeric()) #True
#三者不能判断浮点数
num5='4.3'
print(num5.isdigit())
print(num5.isdecimal())
print(num5.isnumeric())
print(type(num5))
"""
'''
总结:
最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景
如果要判断中文数字或罗马数字,则需要用到isnumeric
'''
#is其他
"""
print('===>')
name='egon123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isidentifier())
print(name.islower())
print(name.isupper())
print(name.isspace())
print(name.istitle())
"""
name=" aleX"
print(name.strip())
print(name.startswith("al"))
print(name.endswith("X"))
print(name.replace("l","p"))
print(name.split("l"))
print(name.upper())
print(name.lower())
print(name[1])
print(name[0:3])
print(name[-2:])
print(name.index('e'))
b=len(name)
print(name[0:b-1])
print(name[:-1])
原文链接:python 字符串操作,转载请注明来源!