首先来讲讲切片,这是常用的处理字符串的方式。
举例:
str="string"
print(str[0:5:2])
[0:5:2]
第一位:表示从第几个字符串开始,0是从第0位开始;
第二位:表示到第几位结束,5的话代表到第5位结束,不包括第5位,即[0,5);
第三位:表示步长,如果是负数,则方向变为从右往左,为2代表步长为2。
最后输出结果:“srn”
接下来聊聊字符串的相关方法:
words = "beautiful is better than ugly."
print(words.capitalize()) #首字母大写
print(words.swapcase()) #大小写翻转
print(words.title()) #每个单词的首字母大写
# 内容居中,总长度,空白处填充
a = "test"
ret = a.center(20,"*")
print(ret)
# 数字符串中的元素出现的个数
ret = words.count("e",0,30)
print(ret)
a = "aisdjioadoiqwd12313assdj"
# startswith 判断是否以...开头
# endswith 判断是否以...结尾
print(a.startswith("a"))
print(a.endswith("j"))
print(a.startswith('sdj',2,5))
print(a.endswith('ado',7,10))
# 寻找字符串中的元素是否存在
print(a.find('sdj',1,10)) # 返回的找到的元素的索引,如果找不到返回-1
print(a.index('sdj',1,10)) # 返回的找到的元素的索引,找不到报错。
# split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。
ret = words.split(' ')
print(ret)
ret = words.rsplit(' ',2)
print(ret)
# format的三种玩法 格式化输出
print('{} {} {}'.format('aa',18,'test'))
print('{1} {0} {1}'.format('aa',18,'test'))
print('{name} {age} {job}'.format(job='test',name='aa',age=18))
# 去掉左右字符
a = '****asdasdasd********'
print(a.strip('*')) #去除左右指定字符
print(a.lstrip('*')) #去除左边指定字符
print(a.rstrip('*')) #去除右边指定字符
# replace
print(words.replace('e','a',2))
print(words.isalnum()) #字符串是否由字母或数字组成
print(words.isalpha()) #字符串是否只由字母组成
print(words.isdigit()) #字符串是否只由数字组成