下标
字符串中字符数据从0开始顺序分配一个编号,使用这个编号可以精确找到某个字符数据--下标或者索引或索引值
str = 'hell0'
print(str[0])#h
print(str[2])#l
切片
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作
语法
序列[开始位置下标:结束位置下标:步长]
注意:
1.不包含结束位置下标对应的数据,正负常数均可
2.步长是选取间隔,正负整数均可,默认步长为1
体验
#切片
str1='0123456'
print(str1[2:5:1])#234
print(str1[2:5:2])#24
#负数测试(倒序)
print(str1[::-1])#如果步长为负数,表示倒序选取
print(str1[-4:-1:])#6对应-1,5对应-2,以此论推,选取-4~-1,所以为345
#终极测试
print(str1[-4:-1:-1])#不能选取出数据,从-4开始到-1结束,选取方向从左到右,但是-1步长是从优向左选取
#=====如果选取方向(下标开始到结束的方向)和步长的方向冲突,则无法选取数据
常用操作方法
字符串的常用操作方法有查找、修改、和判断三大类
查找
所谓字符串查找方法即是查找字符串中的位置或出现的次数
-
find():
检测某子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则返回-1
语法
字符串序列.find(子串,开始位置下标,结束位置下标)
开始和结束位置可以省略,表示在整个字符串序列中查找
体验
str='I love you'
print(str.find('love'))#2
-
index():
检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则报异常
语法
字符串序列.index(子串,开始位置下标,结束位置下标)
开始和结束位置可以省略,表示在整个字符串序列中查找
- rfind():和find()功能相同,但查找方法为右侧开始
- rindex():和Index()功能相同,但查找方向为右侧开始
- count():
返回某个子串在字符串中出现的次数
语法
字符串序列.count(子串,开始位置下标,结束位置下标)
开始和结束位置可以省略,表示在整个字符串序列中查找
修改
所谓修改字符串,指的是通过函数的形式修改字符串中的数据
-
replace():替换
语法
字符串序列.replace(旧子串,新子串,替换次数)
替换次数如果超出子串出现次数,则替换次数为该子串出现次数
体验
str='1 and 2 and 3 and 4 and 5'
print(str.replace('and','or',))#1 or 2 or 3 or 4 or 5
print(str.replace('and','or',2))#1 or 2 or 3 and 4 and 5
print(str.replace('and','or',5))#1 or 2 or 3 or 4 or 5
注意:数据按照收否能直接修改分为可变类型和不可变类型两种。字符串类型的数据修改的时候不能改变原有字符串,属于不能直接修改数据的类型即是不可变类型
-
split():按照指定字符分割字符串,返回一个列表
语法
字符串序列.split(分割字符,num)
注意:num表示的是分割字符出现的次数,即将来返回数据个数num+1个
-
join():用一个字符或子串合并字符串,即是将多个字符串合并为一个新的字符串
语法
字符或子串.join(多字符串组成的序列)
list=['a','b']
print('...'.join(list))#a...b
转化大小写
- capitalize():将字符串第一个字符转化成大写
- title():将字符串每个单词首字母转化为大写
- lower():将字符串中大写转小写
- upper():将字符串中小写转大写
删除空白字符
- lstrip():谁能出字符串左侧空白字符
- rstrip():删除字符串右侧空白字符
- strip():删除字符串两侧空白字符
字符串对齐
- ljust():返回一个原字符串左对齐,并使用指定字符填充至对应长度的新字符串
语法
字符串序列.ljust(长度,填充字符)
- rjust():返回一个原字符串右对齐,并使用指定字符(默认空格)填充至对应长度的新字符串,语法和ljust()相同
- center():返回一个原字符串居中对齐,并事宜指定字符(默认空格)填充至对应长度的新字符串,语法和ljust()相同
判断
所谓判断是判断真假,返回的结果是布尔型数据类型:True或False
- startswith():检查字符串是否已指定子串开头,是则返回true,否则返回false.如果设置开始和结束位置下标,则在指定范围内检查
语法
字符串序列.startswith(子串,开始位置下标,结束位置下标)
- endwith():判断字符串是否已某个子串结尾
- isalpha();如果字符串至少有一个字符并且所有字符都是字母则返回true,否则返回false
- isidgit():如果字符串只包含数字则返回true否则返回false
- isalnum():数字或字母或组合
- isspace():空白(都是空格)