字符串是无法更改的,对字符串的操作是生成一个新的序列
可以通过以下代码进行验证:
str0 = "abc"
str1 = "adc"
res = str0 + str1
print(res)
print(str0)
字符串是有索引的:
str0 = "abc" str1 = "adc" res = str0 + str1 print(res) print(str0)
获得字符串长度: res=len(str)
获得指定索引位置的字符: res=str[] [] 内范围为 0~len(str)-1
也可以通过负值来获取: 范围 [-len(str),-1]
获得字串:序列[start:stop:step] step默认为1,是步数,可以理解为走几步切一次,start stop 不传值,默认从头到尾
str0 = "hello nice to meet you" sub_str = str0[::] 效果为:hello nice to meet you
starrt 为切片开始位置,stop为结束位置,但注意,若start=1,stop=5 效果为: ello o 为 list[4]
只传起始位置 默认是从起始位置到最后 不传起始位置 只传结束位置 [0, stop)
反转 字符串就可以用 str=str0[::-1]
str0 = " hello nice to meet you too" 获得某个子串第一次出现的位置索引 找不到返回-1 如果查找的是连续的字符序列 返回的是第一个字符对应的索引位置 从左向右找 第一次出现的位置 index = str0.find("o") 查询结果为:4
指定起始位置进行查找 index = str0.find("to", 16) 从16开始找 #指定区间进行查找 index = str0.find("to", 10, 15) 从10开始找,到15之前的数结束
从左往右找: index=str.rfind("字符")
统计字符串中某个子串出现的次数 : 数过了不用管了 继续向下数
num = str0.count("o")
从某个位置开始数 num=str.count("字符",起始位置,结束位置)
切割字符串:
切割字符串: 根据指定的切割符位置 对字符串进行分割 返回的是列表 来保存被分割出来的子串
不指定切割符 默认以空白为切割符进行切割
res_list=str.split("字符")
设置切割次数:
sub_list = str0.split(maxsplit=3)
去除字符串两端指定内容:
res = str0.strip("去除内容") #不传去除的内容默认去除的是空白
只去除右边 : .rstrip 只去除左边: .lstrip
转义符: 若想输出 m\nm,但是\n是换行符,可以在前面加一个\ 即 print("m\\nm")
或者加r print(r"m\nm")
若输出字符串中有 " 可以print( ' dsadsa"dasd" ') 或print( " sdadsa \" sdads\" ")
查看字符串是否以指定内容开头 结尾
res = str0.startswith("字符")-----开头
res = str0.endswith("字符")------结尾
判断字符串的内容是否是纯英文字母
res = str0.isalpha()
判断字符串的内容是否是纯数字
res = str0.isdigit()
转换:小写字母变大写字母 :
res = str0.upper()
大写字母变小写字母:
res = str0.lower()
大写变小写,小写变大写,其他不变:
res = str0.swapcase()
将首字母转化为大写:
res = str0.capitalize()
将每个单词的首字母转换为大写:
res = str0.title()
替换:
res = str0.replace("b", "B", 2) :前面是被替换,后面是替换的内容,2表示要更换的是第几个
拼接: 以指定拼接符拼接序列中的内容
res = "-".join(list0) 加入"-"符号拼接