字符串常用功能:
# name.upper() #全部大写变小写# name.lower() #全部小写变大写# name.split() #分割# name.find() #找到指定子序列的索引位置# name.strip() #默认移除左右空白,可以传参数,指定移除的值# name.startswith() #是否以xx开头# name.format() #字符串格式化# name.replace() #字符串替换# "alex".join(["aa",'bb']) #元素拼接(元素必须是字符串) # name.encode # 编码转换
字符串额外功能:
# name[0] # 索引# name[0:3] # 切片# name[0:3:2] # 补偿# len(name) # 长度# 字符串for循环,每个元素是字符
字符串详细功能介绍:
#创建
a = 'abc'a = str('abc')
#转换
age = 19new_age = str(age)
#字符串的拼接
name = 'lishichao'gender = '男'new_str = name + genderprint(new_str)
#字符串格式化
name=input("whatyo is your name?\n>>>")print("Hello,%s" %(name))msg = """姓名:%s职业:%s年龄:%s""" %("李世超","搬砖","18")print(msg)"""
#判断子序列是否在其中
content = '成功最有效的方法就是向有经验的人学习!'if '成功' in content: print('包含敏感字符')else: print(content)
# 移除空白,源字符串不变
val = ' lishichao 'print(val)new_val = val.strip() #移除左右空白new_val = val.lstrip( #移除左空白new_val = val.rstrip() #移除右空白print(new_val)
# 分割
user_info = 'lishichao|handan|19'#v = user_info.split('|') #根据'|' 全部分割#['lishichao', 'handan', '19']#v = user_info.split('|',1) #左边开始 分割1次#['lishichao', 'handan|19']#v = user_info.rsplit('|',1) #右边开始 分割1次#['lishichao|handan', '19']print(v)
# 长度,字符长度
val = '世超li'v = len(val)print(v)
# 索引
#val = 'a啊啊啊a'# v = val[0] #通过索引去找字符# print(v)#通过索引,循环打印字符串val =input('>>>')i = 0while i < len(val): print(val[i]) i+=1
# 切片
content = '成功最有效的方法就是向有经验的人学习!'print(content[0])print(content[0:2]) #取区间print(content[5:9])print(content[5:]) #print(content[5:-2]) #print(content[0:10:2]) #补偿 跳着取print(content[0::2]) #不写 默认全部print(content[-2:]) #从最后开始,取2个字符
#1. 首字母变大写,自身不变;生成新的值
#v = name.capitalize()
#2. 所有大写变小写
v = name.casefold() #更牛逼,支持多国语言#v = name.lower()
#3. 文本居中
# 参数1:总长度# 参数2:空白处填充的字符(长度为1)name = 'LiShiChao'v = name.center(20,'*')print(v)#执行结果#*****LiShiChao******# 左右填充# center,rjust,ljust# name = 'alex'# v = name.rjust(20,'*')# print(v)
#4. 计算传入的值,在字符串中出现的次数
#参数1:要查找的值(子序列)#参数2:起始位置(索引)#参数3:结束位置(索引)#def count(self, sub, start=None, end=None):name = 'aaaabbbbcccc'v = name.count('b',4,8)print(v)
#5. 是否以xx结尾
# name = 'lishichao'# v1 = name.endswith('o')# print(v1)
# #6. 是否以xx开头
# name = 'lishichao'# v2 = name.startswith('li')# print(v2)
#7.找到制表符\t,进行替换(包含前面的值)
name = 'lishichao\t19\nlirenjie\t20'v = name.expandtabs(20)print(v)# 执行结果# lishichao 19# linjreie 20
#8. 找到指定子序列的索引位置:不存在返回-1。
name = 'lishichao'v = name.find('i') #不存在返回-1。#v = name.index('x') #不存在会报错print(v)
#9.字符串格式化
# tpl = '姓名:{0};年龄:{1};性别:{2}'# v = tpl.format('李',19,'男')# print(v)# tpl = '姓名:{name};年龄:{age};性别:{gender}'# v = tpl.format(name='李',age=19,gender='男')# print(v)# tpl = '姓名:{name};年龄:{age};性别:{gender}'# v = tpl.format_map({ 'name':'李','age':'19','gender':'男'})# print(v)
#10.是否是数字、汉字
# name = 'li23汉子'# v = name.isalnum() #包含子和数字,返回True# print(v)# v2 = name.isalpha()# print(v2) #不包含数字
s = "a"print(s.isalpha()) #判断是否是字母True
#11. 判断是否是数字
# num = '二'# v1 = num.isdecimal() #只能判断123,# v2 = num.isdigit() #能判断123,'②'# v3 = num.isnumeric() #能判断123,'②','二'# print(v1,v2,v3)
#12. 移除空白,源字符串不变
# val = ' lishichao '# print(val)# v1= val.strip() #移除左右空白# v2 = val.lstrip() #移除左空白# v3 = val.rstrip() #移除右空白
# #13. 是否是一个标识符
# n = 'name'# v = n.isidentifier()# print(v)
#14. 是否全部是小写
# name = 'lishichao'# v = name.islower()# print(v)
# 是否全部是大写
# n = 'LISHICHAO'# v1 = n.isupper()# print(v1)
# 大小写转换
# print(name.upper()) #全部小写变大写# print(n.lower()) #全部大写变小写
# #15. 是否包含隐含字符
# name = 'asdsad\nsadsadsa'# print(name.isprintable())
#16. 判断是否全部是空格
# name = ' '# print(name.isspace())
#17. 元素的拼接(元素字符串), 重点,经常用
# name = 'LSC'# v = '_'.join(name)# print(v)# name = ['a','b','c']# v = '哈'.join(name)# print(v)
#18. 字符串替换
# content = '10.0.3.188,172.16.1.188'# v1 = content.replace('188','99') # 全部替换# v2 = content.replace('188','99',1) # 只替换第一个188# print(v1)# print(v2)# #执行结果:# # 10.0.3.99,172.16.1.99# # 10.0.3.99,172.16.1.188
#29.encode
name = '李小'v1 = name.encode(encoding='utf-8') #转换成字节类型, utf-8 3个字节表示中文print(v1)v2 = name.encode(encoding='gbk') #转换成字节类型,gbk 2个字节表示中文print(v2)