Tips:
这些方法对字符串本身不产生变化
类似 print('回忆', '*' * 100) 的语句为功能分割线
print('回忆', '*' * 100) # 直接拼接字符串 a = 'good' + ' man' print(a) # 字符串重复 a = 'good' * 3 print(a) # 格式化输出 a = '今天是%d号' % 8 print(a) # 按顺序依次赋值 a, b, c, d = 'love' print(a, b, c, d) print('零散的功能', '*' * 100) # 将eval里面的字符串直接看成是一个数学操作,然后将操作的结果赋值给a a = eval('5 + 4') print(a) # 按Unicode值求最大值 a = max('abcdsefg') print(a) # 求字符串长度 a = len('hate') print(a) # 以参数为分割条件,将字符串分割成 N 个字串,默认参数是空格 a = '20:34:56'.split(':') print(a) # 以回车换行为条件分割,参数用来设置是否保留换行符 a = 'good man\nbad man'.splitlines(True) print(a) # 以' hate '为连接,将列表中所有的字符串拼接 a = ' hate '.join(['She', 'it']) print(a) # 原样(格式)保留字符串 a = """love hate ahh """ print(a, type(a)) print('切片', '*' * 100) s = 'Holiday is coming!' # 根据索引访问对应字符,索引从0开始, # 如果索引写的是负数,则从右往左开始查询,最右边的索引是 -1 a = s[0] # 第一个字符 b = s[-1] # 最后一个字符 print(a) print(b) # 取出指定子串(范围截取) # 默认步长为 1,如果步长为正,从左往右查询,如果步长为负,则从右往左查询 a = s[4 : 7] print(a) # 步长为2 b = s[0 : 19 : 2] print(b) print('增', '*' * 100) s = 'good' # 以'good'tian'cho为中心向两边填充指定字符 # Tips: # 第一个参数width必须大于等于原始字符串的长度才有效果 a = s.center(5, '*') print(a) # 在原始字符串的右侧填充新字符 a = s.ljust(6, '+') print(a) # 在原始字符串的左侧填充新字符 a = s.rjust(7, '-') print(a) # 在原始字符串的左侧填充 0 ,填充的0的个数 = 参数 - 字符串长度 a = s.zfill(6) print(a) print('删', '*' * 100) s = '****dog****' # 在原始字符串的前后,删除指定子串 a = s.strip('*g') print(a) # 从原始字符串的左侧开始删除 a = s.lstrip('*d') print(a) # 从原始字符串的右侧开始删除 a = s.rstrip('g*') print(a) print('修改', '*' * 100) s = 'it Is vEry good' # 将字符串全部转为大写 print(s.upper()) # 将字符串全部转为小写 print(s.lower()) # 如果字符串的首字符是字母, # 将字符串的首字符转为大写, # 首字符后面的全部转为小写 print(s.capitalize()) # 将每个单词的首字母转为大写 # (以所有非字母的字符为单词的界定符) print(s.title()) # 将原始字符串的单词大小写互换 print(s.swapcase()) # 创建一个转换规则 temp = str.maketrans('ab', '12') a = 'qwaber' print(a.translate(temp)) print('查询', '*' * 100) s = 'it Is Is vEry good' # 查询某个字串('Is')在原始字符串中出现了几次 # 默认查询整个字符串 print(s.count('Is')) # 从原始字符串的第11位开始查找 print(s.count('Is', 10)) # 从原始字符串的第1位开始、到第6位结束,进行查找 print(s.count('Is', 0, 5)) # 查找字串第一次出现的位置(默认索引从0开始) # 找不到返回 -1 print(s.find('Is')) # 查找字串从索引4开始,第一次出现的位置(索引) print(s.find('Is', 4)) # 查找字串从索引4开始到索引3结束,第一次出现的位置(索引) print(s.find('Is', 0, 3)) # 和find效果类似 # 区别在于,如果找不到,则会报错 print(s.index('Is', 1)) # 和find类似,只不过是从右往左查询,也可指定范围 print(s.rfind('Is', 0, 10)) # 和index类似,只不过是从右往左查询,也可指定范围 print(s.rindex('Is', 0, 10)) # 在原始字符串中,用第二个字串替换第一个字串,可以指定替换次数 print(s.replace('Is', 'new', 1))
print('判断,编码', '*' * 100) s = 'dog cat pig make' # 判断 s 是不是属于Unicode中的字母(包括汉字) print(s.isalpha()) # 判断字符串是不是数字(包括中文的简、繁体、罗马数字) print('123万'.isnumeric()) # isalpha()和isnumeric()的结合 print('good12万'.isalnum()) # 字符串中至少有一个字母,并且所有字母都必须是大写形式 print('gooD'.isupper()) # 字符串中至少有一个字母,并且所有字母都必须是小写形式 print('gooD'.islower()) # 至少有一个字母 # 所有的单词都是首字母大写,其余小写 print('123Sdwdw12Qwq'.istitle()) # 判断是不是数字 print('123'.isdigit()) print('123'.isdecimal()) # 判断是否以子串开头,可以限定范围 print('good'.startswith('o')) # 判断是否以子串结束,可以限定范围 print('good'.endswith('od')) # 转码 print('好不好good'.encode('utf-8')) # 解码 print('好不好good'.encode('utf-8').decode('utf-8')) # 转换成'a'对应的Unicode码值 print(ord('a')) # 转换成97对应的Unicode码值 print(chr(97))