字符串 methods
下标,切片的使用
下标:🌼
下标(索引):索引值正向从0开始,反着从-1开始
下标的作用:可以使用下标获取字符串中某个位置的字符
切片:🌸
切片:可以获取字符串中多个字符(多个字符的下标是有规律的,等差数列)
语法:
字符串[start : end : step]
start 是开始位置的下标,
end是结束位置的下标(注意,娶不到这个位置的下标)
step 步长,相邻字符之间下标之间的差值(可以不写)
字符串查找方法-find
find
用法:
字符串.find(sub_str, start, end)
作用:
在字符串中查找是否存在sub_str 这样的字符串
sub_str:要查找的最小字符串
start:开始位置,从哪个下标位置开始找,一般不写,默认是0
end:结束位置,查找哪个下标结束,一般不写,默认是len()
返回:第一次出现的正数下标;没有找到返回-1
str1 = "Hello everyone, let's study together good good study,day day up!"
# 在字符串中查找study
num1 = str1.find("study")
print(num1)
# -----------输出:11-----------
#查找第二个study出现的位置
num2 = str1.find("study",num+1)
print(num2)
# -----------输出:47-----------
字符串替换方法-replace
字符串.replace(old_str, new_str, count)
将字符串中的old_str,替换为new_str
count:替换的次数,一般不写,默认全部替换
str1 = "good good study,day day up!"
# 将‘g’改为‘G’
str2 = str1.replace('g','G')
print("str1:",str1)
print("str2:",str2)
# 将第一个good改为GOOD
str3 = str1.replace("good","GOOD",1)
print('str3:',str3)
# 将第二个good改为GOOD
str4 = str1.replace("good","GOOD")
str4 = str1.replace("GOOD","good",1)
print('str4:',str4)
# 输出:
# str1: good good study,day day up!
# str2: Good Good study,day day up!
# str3: GOOD good study,day day up!
# str4: good good study,day day up!
👹👹👹:替换不会改变原来字符串,只会得到一个新的
拆分-split
字符串.split(sep, max_split) #将字符串按照sep进行分割
sep,默认空白字符,空格,换行,tab,\t
max_split,分割次数,一般不写,默认全部分割
返回一个列表
注意:若sep不写,想要指定分割次数,则
字符串.split(max_split = n) # n 是次数
连接🔗-join
字符串.join(列表 ) #括号中的内容只要是列表,也可其他
作用:将字符串插入到每相邻的两个数据之间,组成一个新的字符串,列表中的数据是使用逗号隔开的
列表中的数据必须都是字符串,否则会报错
list1 = ['good', 'good', 'study']
# 将列表中的字符串使用空格连起来
str1 = ' '.join(list1)
print(str1)
# 使用and连起来
str2 = ' and '.join(list1)
print(str2)
# ------------- 输出 ---------------
# good good study
# good and good and study
其他方法……
字符串大小写-upper/lower
# ----------upper/lower----------------
value = 'jialijie'
new_value = value.upper()
print(value, new_value)
new_value = value.lower()
print(value, new_value)
输出:
jialijie JIALIJIE
jialijie jialijie
# ----------------isdigit----------------
print("""欢迎致电10086
1. 话费查询
2. 业务办理
3. 转人工
""")
num = input('请选择服务:')
# 判断用户输入的字符串是否能转换成数字
# '999' 可以;'aksni' 不可以
flag = num.isdigit()
# print(flag) #'1' -> True 'akkj' -> False
if flag:
num = int(num)
else:
print('请输入数字!')
补充:
s为字符串
s.isalnum()所有字符都是数字或者字母
s.isalpha()所有字符都是字母
s.isdigit()所有字符都是数字
s.islower所有字符都是小写
s.isupper所有字符都是大写
s.istitle()所有单词都是首字母大写,像标题
s.isspace()所有字符都是空白字符、\t、 \n、\r
判断是整数还是浮点数a=123.
b=123.123
isinstance(a,int)True
isinstance(b,float)True
isinstance(b,int)False
去除空格-strip
# ----------- strip ----------
user = input('请输入用户名:')
print('--->', user, '<---')
# 输出为---> ja <--- 会有多余空格
new_user1 = user.strip()
print('--->', new_user1, '<---')
new_user2 = user.lstrip() # 删除左边空格
print('--->', new_user2, '<---')