字符串
字符串(string)是用于保守字符信息的数据模型(容器)
字符表类似元素周期表
判断该数据是否存在于字符串当中
str = "hello 武汉加油"
if "长沙" in str:
print("存在")
else:
print("不存在")
运行结果
不存在
字符串——判断
判断字符串里面的数据存在的字母是否都是大写
str.isupper()
判断字符串里面的数据存在的字母是否都是小写
str.islower()
判断是否都是数字或者字母
str.isalnum()
判断是否都是字母
str.isalpha()
判断是否全部都是数字
str.isdigit()
判断首字母是否大写
str.istitle()
判断一个人是否姓王startwith(字符串)endswith
str = '王小二'
print(str.startswith('王')
print(str.endswith('三')
运行结果
True
False
endswith():判断字符串是否以某个子串结尾
print(mystr.endswith('Python'))
print(mystr.endswith('Python'))
isalpha():字母
print(mystr.isalpha())
isalpha():数字
mystr = '12345'
print(mystr.isalpha())
isalnum():数字或字母或组合
print(mystr.isalnum())
字符串——数据转换
将字母全部转换成小写
str.lower()
将字母全部转换成大写
str.upper()
每个单词首字母大写,其他小写
str.title()
单词首字母大写,其他小写
str.capitalize()
字母全部大写
str.swapcase()
字符串——格式转换
str = '**院长**'
去掉两侧的指定字符
str.strip('*')
去掉左侧
str.lstrip("*")
去掉右侧
str.rstrip('*')
ljust(长度,占位符)左边占位在右侧补占位符
str.ljust(8, "*")
补左
str.rjust(8, "*")
两边都补,优先右边
str.center(8, "*")
字符串——拆分与连接
左侧切割成了组数据的元组
str.partition('a')
右侧切割成了组数据的元组
str.rpartition('a')
split(字符, 切割数)
以指定字符切割数据为列表
# 所有a的单词全部切割删除,并拆分单词
str.split('a')
切割前两个有a的单词列表被分为n+1个部分
str.split('a', 2)
对字符串进行占位连接
str = '*'
print(str.join('钟南山院士'))
运行结果
钟*南*山*院*士
字符串——查询与替换
str = 'hello world, hello python'
find(字符串, 开始索引, 结束索引) 查询
print(str.find('a'))
print(str.find('a', 5)
右边查询,用法同上
str.rfind('a')
index和find用法和功能一样,通过字符去找到他的索引值
find如果没有找到指定字符,会返回-1
index如果没有找到指定字符 ,会报错
replace(原字符, 新字符, 替换数量)
不指定数量默认全部替换
str.replace('a', 'A')
字符串切片
字符串[开始索引:结束索引:步长]
str[6:10]
字符串序列find(子串,开始位置下标,结束位置下标)
mystr = "hello world and itcast and itheima and Python"
print(mystr.find('and')) # 12
print(mystr.find('and', 15, 30)) # 23
print(mystr.find('ands')) # -1
index():检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下边,否则则报异常。
修改
replace():替换
字符串序列.replace(旧子串,新子串,替换次数)
mystr = "hello world and itcast and itheima and Python"
# 结果:hello world he itcast he itheima he Python
print(mystr.replace('and','he'))
# 结果:hello world he itcast he itheima he Python
print(mystr.replace('and','he',10))
# 结果:hello world and itcast and itheima and Python
print(mystr)
split():按照指定字符分割字符串
字符串序列.split(分割字符,num)
注:num表示的是分割字符出现的次数,即将来返回数据个数为num+1
mystr = "hello world and itcast and itheima and Python"
# 结果:['hello world', 'itcast', 'itheima','Python']
print(mystr.split('and'))
# 结果:['hello world', 'itcast', 'itheima and Python']
print(mystr.split('and',2))
# 结果:['hello world','and','itcast','and','itheima','and','Python']
print(mystr.split(' '))
# 结果:['hello','world','and itcast and itheima and Python']
print(mystr.split(' ', 2))
注:如果分割字符是原有字符串中的子串,分割后则丢失该子串
join():用一个字符或子串合并字符串,即是将多个字符串合并为一个新的字符串
字符或子串.join(多字符串组成的序列)
list1 = ['chuan','zhi','bo','ke']
t1 = ('aa','b','cc','ddd')
# 结果:chuan_zhi_bo_ke
print('_'.join(list1))
# 结果:aa...b...cc...ddd
poem_list = [
"\t\n登黄鹤楼",
"王之涣",
"白日依山尽\t\n",
"黄河入海流",
"欲穷千里目",
"更上一层楼",
]
for poem_str in poem_list:
# strip()去除空白字符
# center居中显示文本
print(poem_str.strip().center(10, " "))
运行结果
登黄鹤楼
王之涣
白日依山尽
黄河入海流
欲穷千里目
更上一层楼