''' python字符串 字符串:是python语言中基本的数据类型,和元组一样是不可变序列 一.字符串的查询操作方法 (1)找这个子串最先出现的位置,未找到该字串会抛出异常 substring not found 方法:index('子串') eg: s1 = "python my love" print(s1.index('o')) 输出: 4 (2)找这个子串最后出现的位置,未找到该子串会抛出异常 substring not found 方法: rindex('子串') eg: s1 = "python my love" print(s1.rindex('o')) 输出:11 (3)找这个子串最先出现的位置,未找到该字串不会抛出异常,会返回-1 方法: find('子串') eg:s1 = "python my love" print(s1.find('o')) 输出: 4 (4)找这个子串最后出现的位置,未找到该子串不会抛出异常,会返回-1 方法: rfind('子串') eg: s1 = "python my love" print(s1.rfind(""o)) 输出: 11 二.字符串的大小写转换操作 (1)将字符串中所有小写字母转换成大写 方法: upper() eg: s1 = "python my love" print(s1.upper()) 输出: PYTHON MY LOVE (2)将字符串中所有大写字母转换成小写字母 方法: lower() eg: s1 = "PYTHON MY LOVE" print(s1.lower()) 输出: python my love (3)将字符串中的所有小写字母转换成大写字母,将所有的大写字母转换成小写字母 方法: swapcase() eg: s1 = "PyThoN MY loVe" print(s1.swapcase()) 输出:pYtHOn my LOvE (4)把字符串中第一个字符转换成大写,其余字符转换成小写 方法: capitalize() eg: s1 = "PyThoN MY loVe" print(s1.capitalize()) 输出:Python my love (5)将字符串中每个单词首字母大写,其余小写 方法: title() eg: s1 = "python my love" print(s1.title()) 输出: Python My Love 三.字符串的对齐操作 (1) center() :居中对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数可选,默认为空格,如果设置宽度小于字符串的宽度,则返回原字符串 eg: s1 = "python my love" print(s1.center(30,'*')) 输出: ***python my love*** (2) ljust() :左对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数可选,默认为空格,如果设置宽度小于字符串的宽度,则返回原字符串 eg: s1 = "python my love" print(s1.ljust(20,'%')) 输出:python my love%%%%%% (3) rjust() :右对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数可选,默认为空格,如果设置宽度小于字符串的宽度,则返回原字符串 eg: s1 = "python my love" print(s1.rjust(20,"$")) 输出: $$$$$$python my love 四.字符串的劈分操作 1. split() : (1)从左侧开始劈分,默认劈分字符为空格,返回的值是一个列表 (2) 可以使用sep指定劈分字符 (3) 可以使用maxsplit来指定最大劈分次数,在经过最大劈分次数过后,剩下的会成为单独的一部分。 语法格式: 字符串.split(sep='字符',maxsplit=劈分次数) ## sep,maxsplit 为可选项 eg: s1 = "python my love" print(s1.split()) s2 = "python*my*love" print(s2.split(sep='*')) s3 = "python my love" print(s3.split(maxsplit=1)) 输出: ['python', 'my', 'love'] ['python', 'my', 'love'] ['python', 'my love'] 2. rsplit() : (1)从右侧开始劈分,默认劈分字符为空格,返回的值是一个列表 (2) 可以使用sep指定劈分字符 (3) 可以使用maxsplit来指定最大劈分次数,在经过最大劈分次数过后,剩下的会成为单独的一部分。 语法格式: 字符串.split(sep='字符',maxsplit=劈分次数) ## sep,maxsplit 为可选项 eg: s1 = "python my love" print(s1.rsplit()) s2 = "python*my*love" print(s2.rsplit(sep='*')) s3 = "python my love" print(s3.rsplit(maxsplit=1)) 输出: ['python', 'my', 'love'] ['python', 'my', 'love'] ['python my', 'love'] 五.判断字符串操作 1.判断字符串是不是合法得标识符 方法: isidentifier() eg: print("python".isidentifier()) 输出: True 2.判断字符串是否全部由空白字符(回车、空格、水平制表符)组成 方法: isspace() eg: print("\t".isspace()) 输出: True 3.判断字符串是否全部由字母组成 方法: isalpha() eg: print("python".isalpha()) 输出: True 4.判断字符串是否全部由十进制数组成 方法: isdecimal() ##只能是十进制阿拉伯数字 eg: print("123四".isdecimal()) 输出: False 5.判断字符串是否全部由数字组成 方法: isnumeric() ## 这里可以是其他数字 eg: print("123四".isnumeric()) 输出: True 6.判断字符串是否全部由字母和数字组成 方法: isalnum() eg: print("sfja123".isalnum()) 输出: True 六.字符串操作 1.替换字符串内容 方法:replace(参数1,参数2,参数3) ## 参数1:被替换的子串 参数2: 指定替换子串得字符串 参数3: 替换得最大次数 eg: s = "i like python,you like python too" print(s.replace("like","dislike",2)) 输出: i dislike python,you dislike python too 2.将列表、元组、字符串进行连接 方法: '字符'.join() ## 括号里可以是列表名,元组名、字符串 (1)连接列表: eg:s = ['I','like','python'] print(' * '.join(s)) 输出: I * like * python (2) 连接元组: eg: s = ('I','like','python') print(' * '.join(s)) 输出: I * like * python (3) 连接字符串: eg: print(' * '.join("python")) 输出: p * y * t * h * o * n 七.字符串得比较操作 1.运算符: > >= < <= == != 2.比较规则:将两个字符串中的字符依次比较,相等则继续比较下一个字符,直到不相等的时候,其结果便是俩个字符串比较的结果,且后面的字符将不再比较。 3.比较原理: 两个字符串比较时,比较的是原始值,调用内置函数ord()可以得到指定字符的原始值。与其对应的内置函数chr()则可以通过原始值得到对应的字符。 eg: print("python">"java") print(ord('p'),ord('j')) 输出:True 112 106 八.字符串的切片操作(操作类似列表切片) ## 因为字符串是一个不可变序列,所以它不具备增、删、改的操作。切片完会产生一个新的对象。 语法格式: 变量名[start:stop:step] eg: s1 = "123456789" print(s[1:8:2]) 输出: 2468 九.格式化字符串 1.%作占位符 %s:字符串 %i或者%d: 整数 %f: 浮点数 语法格式: 占位符 % (实际值,....) eg: name = "张三" age = 20 print('%s今年%d岁了' % (name,age)) 输出: 张三今年20岁了 2.{}作为占位符 语法格式: 占位符.format(实际值,....) eg: name = "张三" age = 20 print('{0}今年{1}岁了'.format(name,age)) 输出: 张三今年20岁了 3.f-string 语法格式: f"占位符" eg: name = "张三" age = 20 print(f'{name}今年{age}岁了') 输出: 张三今年20岁了 十.字符串的编码转换 ##编码: 将字符串转换为二进制数据(bytes) ##解码: 将(bytes)数据的类型转换成字符串类型 1.编码 方法: encode(encoding='编码格式') 编码格式: 如: ‘GBK’ 'UTF-8' eg: s = "学习使我快乐" print(s.encode(encoding='GBK')) 输出: b'\xd1\xa7\xcf\xb0\xca\xb9\xce\xd2\xbf\xec\xc0\xd6' 2.解码 方法: decode(encoding='编码格式') eg: s = "学习使我快乐" t = s.encode(encoding='GBK') print(t.decode(encoding='GBK')) 输出: 学习使我快乐 '''
python字符串的常用操作
最新推荐文章于 2023-03-24 10:13:16 发布