1021字符串
字符串相关方法
center 、rjust、ljust、zfill
字符串.center(长度, 填充字符)
原字符串在中间,填充对半向左取整排两边
字符串.rjust(长度, 填充字符)
原字符串在右边,填充在左边
字符串.ljust(长度, 填充字符)
原字符串在左边,填充在右边
字符串.zfill(长度) == 字符串.rjust(长度, ‘0’)
str1 = 'abc'
print(str1.center(7, '1')) # '11abc11'
print('你好'.center(6, '*')) # '**你好**'
print('你好'.center(7, '*')) # '***你好**'
print('hello'.rjust(10, '%')) # '%%%%%hello'
print('hello'.ljust(10, '%')) # 'hello%%%%%'
print('abc'.zfill(5)) # '00abc'
count
字符串1.count(字符串2) - 统计字符串1中字符串2出现的次数
字符串1.count(字符串2, 开始下标, 结束下标) - 统计开始下标和结束下标确定范围内字符串2的个数
find、index、rfind、rindex
字符串1.find(字符串2) - 获取字符串2在字符串1中第一次出现的位置, 找不到返回-1
字符串1.find(字符串2, 开始下标, 结束下标)
字符串1.index(字符串2) - 获取字符串2在字符串1中第一次出现的位置,找不到报错!
字符串1.index(字符串2, 开始下标, 结束下标)
rfind和rindex, 找的时候从后往前找!
其他
字符串.isalnum() - 判断字符串中是否只包含数字、字母、中文
字符串.isalpha() - 判断字符串中是否只包含字母和中文
字符串.isdigit() - 判断字符串是否是纯数字字符串(数字字符)
字符串.isnumeric() - 判断字符串是否是纯数字字符串(意义是数字的字符)
字符串.isspace() - 判断字符串是否是纯空白字符串
字符串.isupper() - 判断字符串中所有的字母是否都是大写字母
字符串.islower() - 判断字符串中所有的字母是否都是小写字母
join
字符串.join(序列) - 将序列中的元素通过指定的字符串合并成一个新的字符串(序列中的元素必须全部都是字符串)
list1 = ['name', 'age', 'gender']
# 'nameagegender'
result = ''.join(list1)
print(result) # 'nameagegender'
# 'name+age+gender'
result = '+'.join(list1)
print(result) # name+age+gender
str1 = 'abc'
# 'aAndbAndC'
result = 'And'.join(str1)
print(result) # 'aAndbAndc'
相关练习
nums = [100, 200, 300, 400], 将nums合并成:‘100-200-300-400’
nums = [100, 200, 300, 400] # ['100', '200', '300', '400']
result = '-'.join([str(x) for x in nums])
print(result)
已经一个列表,将列表中所有的字符串用’=='连接成一个新的字符串
list1 = [100, 'abc', True, '你好', 'hello', 12.9]
result = '=='.join(x for x in list1 if type(x ) == (str))
print(result)
strip、lstrip、rstrip
字符串.strip() - 去掉字符串前后的空白
str1 = ’ abc 123 ’
print(str1, ';')
print(str1.strip(), ';', sep='')
print(str1.lstrip(), ';', sep='')#去掉左边
print(str1.rstrip(), ';', sep='')#去掉右边
maketrans、translate
str.maketrans(字符串1, 字符串2) - 创建字符串1和字符串2的对应的表
字符串.translate(表)
str1 = 'hello, how are you! abc'
table = str.maketrans('ao', '12') # a-1,o-2
result = str1.translate(table)
print(result) #hell2, h2w 1re y2u! 1bc
split()
字符串1.split(字符串2) - 将字符串1中所有的字符串2作为切割点对字符串进行切割
字符串1.split(字符串2, N) - 将字符串1中前N个字符串2作为切割点
replace(重要)
字符串1.replace(字符串2, 字符串3) - 将字符串1中所有的字符串2都替换成字符串3
字符串1.replace(字符串2, 字符串3, N)
字符串格式化
字符串拼接
name = '小明'
age = 18
message = name + '今年' + str(age) + '岁!'
print(message)
字符串部分内容由其他数据决定
a = 10
b = 23
c = 23
d = 100
# 'a:10, b:20, c:23, d:100'
message = 'a:' + str(a) + ', b:' + str(b) + ', c:' + str(c) + ', d:' + str(d)
print(message)
格式字符串
语法: 包含格式占位符的字符串 % (数据1, 数据2, …)
%d - 整数
%s - 字符串
%f - 浮点数
f-string
message = f'a:{a}, b:{b}, c:{c}, d:{d}, a+b:{a+b}'
print(message)