太晚了,只是把学习的记录放上来了,比较乱,您要是看到了,但愿您能理解~
后续会做一个比较全的总结~
# 字符串也是有索引的
wq = "fiona_fiona"
print(len(wq)) # 获取字符串长度,或者里面的字符数量 -->5
print(wq[0]) # 获取字符串的第0个字符 -->f
print(wq.count("a")) # 统计字符串中某个字符的数量 -->1
print(wq.index("a")) # 查询字符串中某个字符的索引号 -->4
# 判断空白字符串&字符
hyg = " \r\n\t"
print(hyg.isspace()) # 判断字符串是否只包含空白字符,转义字符也算空白字符 -->True
print(wq.isalnum()) # 判断字符串是否全是由字符和数字组成 -->True
print(wq.isalpha()) # 判断字符串是否包含至少一个字符,且全部是字符 -->True
# 判断数字
print(wq.isdecimal()) # 判断是否是单纯的数字
print(wq.isdigit()) # 判断阿拉伯数字、unicode字符串
print(wq.isnumeric()) # 判断阿拉伯数字、unicode字符串、中文数字“一百”
# 字符串的查找替换
print(wq.startswith("wu")) # 判断是否以某个字符串开始
print(wq.endswith("an")) # 判断是否以某个字符结束
print(wq.find("i")) # 查找指定字符串的索引号
"""find和index的区别
find:如果要查找的字符串没有想查找的内容,会返回‘-1’
index:如果要查找的字符串没有想要查找的内容,程序会报错"""
print(wq.replace("fiona", "wuqianxiaojiejie")) # 把字符串中的‘fiona’替换成‘wuqianxiaojiejie’
"""特别注意:
str.replace不会修改原字符串
相当于替换完成之后,会返回一个新的已经替换好的字符串
但是紧接着会再把字符串复原"""
# 文本对齐
print(wq.ljust(10)) # 文本向左对其
print(wq.rjust(10)) # 文本向右对齐
print(wq.center(10)) # 文本居中对齐
# 去除空白字符串
print(wq.strip()) # 去除前后的空白字符串
print(wq.rstrip()) # 去除右边(后面)的空白字符
print(wq.lstrip()) # 去除左边(前面)的空白字符
# 字符串的拆分和拼接
love = "wuqian_fiona"
love_list = love.split("i") # split-->拆分成一个列表
"""split:如果不传递任何参数,则会以所有空格作为分隔符拆分
如果传递有参数,则一传递的参数作为分隔符来拆分
如果传递的参数不存在,则会以不传递参数出来
"""
print(love_list)
# 拼接
love_str = ".".join(love_list) # join-->把列表&元组&字典拼接成一个字符串
"""注意:如果是拼接拆分时生产的列表,则拆分时指定的字符已经被删掉了
比较不同的地方:在join前的引号内指定拼接符"""
print(love_str)
# 字符串的切片
num = "0123456789"
print(wq)
print(num[1:4:2]) # fiona
"""num[a:b:c]:
a:起始索引
b:结束索引
c:步长-->相当于每隔c个字符取一个"""
print(num[::-1]) # 指定步长为负数,可以倒序打印想要的
# 字符串练习题,从身份证号中取出日期,判断男女,判断年龄;
id_num = ["HYG-530323199210291316", "WQ-530323199308011326"]
for i in range(2):
birth = id_num[i]
name = id_num[i].split("-")
print(name[0], "的生日是:", birth[-12:-4])
sex = int(birth[-2:-1])
if sex % 2 == 1:
print("you are a man")
else:
print("you are a women")