Python--字符串

下标,切片的使用

下标:🌼

下标(索引):索引值正向从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, '<---')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值