目录
str 字符串:
1.字符串的索引
2.字符串的切片
3.字符串的相关函数使用
字符串拼接
字符串格式化处理
查找字符串,获取某个元素的索引——元素的位置
元素替换
其他使用:
特性:字符串不可修改、有序的、可迭代的
成对英文引号括起来的数据内容(在任意数据的左右两边加上引号),单引号'' 双引号"" 三引号"""""",'555' ,"A内容"
引号的嵌套使用(成对使用)
""""""三引号保持格式的作用——所见即所得,主要用来表示多行的字符串
表达方式: str[元素位置]
取值:每个元素都有的位置-索引,从0开始
取最后一个元素:索引-1 ,strl[-1]负数的取值
str1='hello dalaofa' #定义字符串
print(str1[4]) 返回—o
print(str1[-1]) 返回—a
1、索引头-起始索引不写默认是0
2、索引尾-结束索引不写默认是字符串的长度,最后一个元素的索引
3、步长不写默认为1
4、索引的取值左闭右开(包含起始索引的值,不包含结束索引的值) 5、步长前面的为负(-)表示倒序切片,正(+)表示正序切片(+可以不写) 6、正序切片用正序索引,倒序切片用倒序索引
7、字符串中的空格也占一个索引位置(空格也是字符串的组成部分)
print(str1[0:2]) #返回—he,取索引0、1,2不包含,步长可不写,默认1
print(str1[1:4:2]) #返回—el
print(str1[::]) #返回—hello dalaofa
print(str1[::-1]) #获取字符串的倒序返回—afoalad olleh
(1)直接使用+拼接两个字符串
如多个数据需要拼接(需要相同拼接符号完成)
string.join([字符串变量1,字符串变量2,字符串变量3....])
join方法(把字符串数据保存在一个列表中)可以把一个列表通过特定的连接符组成一个字符串。
split通过某个分隔符将字符串分割成一个列表
string.split('h',maxsplit=2) h: 拆分字符(分隔符) maxsplit: 拆分次数,默认是-1表示不限制拆分次数 注意点: 返回的是一个list 拆分字符会被丢弃掉,不会在list中返回 如果拆分字符不传,默认按空格进行拆分;未指定分隔符、字符串中不存在空格则将整个字符串作为唯一的元素放在列表中 如果拆分字符是第一个,或者是最后一个,此时前后会增加一个空字符串如果在中间2个拆分字符连续出现,此时拆分的时候会出现1个空格(2个拆分字符中间什么都没有默认为空格)
year = "2022"
month = "12"
day = "01"
date_1 = "-".join([year, month, day])
print(date_1) # 拼接字符串2022-12-01
print(date_1.split("-"))
# 切割字符串,打印输出列表存储字符串['2022', '12', '01']
格式化:即使用固定模板输入变量数据内容填充,不截断字符串,在字符串内传入变量,占位置
占位符:{}可以为空,按照默认位置顺序传参
指定位置传参,填入参数名 或0,1,2,3·····
手动输入、和自动不能混淆使用——要么全空,要么全填
print(str(100)+'fafa') # 打印出字符串100fafa
name="fafa"
gender="女"
hobby="搞钱"
print('''
-----{}的详细个人信息------
name:{}
gender:{}
hobby:{}'''.format(name,name,gender,hobby))
template = f"""-----{name}的详细个人信息------
name:{name}
gender:{gender}
hobby:{hobby}"""
string.index() —没找到元素会报错——代码停止运行
string .find() —找到子字符串,返回字符串元素索引开始位置(多个相同字符,仅查找第一个),没找到元素不会报错,返回-1—代码不会停止运行
string.replace('原本的旧的','新的')
string.replace('原本的旧的','新的','替换次数')——可替换多个字符串,不改变原来的变量数据,要获取修改后的字符串需用新的变量存
str_1 = "旧的字符串Abc"
str_1.replace("旧的","新的")
print(str_1) # 打印——旧的字符串Abc
newstr_1 = str_1.replace("旧的","新的")
print(newstr_1) # 打印——新的字符串Abc
str_2 = str_1.replace("旧的","")
print(str_2) # 打印——字符串Abc,替换字符串为空相当于删除
str_1 = "wo SHI fafa"
print(str_1.count("f"))
print(len(str_1))
print(str_1.strip())
print(str_1.lower())
print(str_1.upper())
print(str_1.title())
print(str_1) # 以上一系列函数操作不会改变str_1变量字符串的数据内容