字符串进阶

本文详细介绍了字符串格式化的各种方法,包括传统的百分比占位符和f-string。通过实例展示了如何使用这些方法插入变量到字符串中。此外,还探讨了字符串的连接、切割、替换及空白字符处理等常见操作,对于日常编程工作极具参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

格式字符串

包含一个或者多个格式占位符的字符串 % (数据1, 数据2, 数据3,…)

说明:()中的数据必须和前面字符串中的占位符一一对应。如果只需要一个数据,那么()可以省略

常用的字符串占位符:
%s - 可以给任何类型的数据占位(字符串占位符)
%d - 只能给数字数据占位(整数占位符)
%f - 只能给数字数据占位(浮点数占位符, 默认保留6位小数)
%.Nf - 只能给数字数据占位(保留N位小数)

f-string

f-string的基本用法:如果在字符串的最外面加了f,就可以在字符串中通过{}来给字符串提供内容:{表达式} - 表达式的结果就是对应的字符串内容

name = '小明'
age = 18
money = 15000

str1 = '姓名:{name}, 年龄:{age}'
print(str1)     # '姓名:{name}'

str2 = f'姓名:{name}, 年龄:{age}'
print(str2)     # '姓名:小明'

str3 = f'a:{age}, b:{100}, c:{100 * 2}, d:{100 > 200}, c:{name * 2}, d:{name[-1]}'
print(str3)

# xxx今年xx岁!月薪:xxxx元
message = f'{name}今年{age}岁!月薪:{money}元'
print(message)

字符串.xxx()

  1. 字符串.join(序列) - 将序列中的元素用指定的字符串拼接在一起,形成一个新的字符串(序列中的元素必须是字符串)
list1 = ['后裔', '王昭君', '鲁班7号', '孙悟空']
result = ''.join(list1)
print(result)       # '后裔王昭君鲁班7号孙悟空'

result = '+'.join(list1)
print(result)       # '后裔+王昭君+鲁班7号+孙悟空'

result = ' and '.join(list1)
print(result)       # '后裔 and 王昭君 and 鲁班7号 and 孙悟空'
  1. 字符串1.split(字符串2) - 将字符串1中所有的字符串2作为切割点对字符串进行切割,返回包含切割后每一小段对应的字符串的列表
    字符串1.split(字符串2, N) - 将字符串1中前N个字符串2作为切割点为字符串1进行切割
str1 = 'abcmn123mnkplmn##'
result = str1.split('mn')
print(result)       # ['abc', '123', 'kpl', '##']

str1 = 'mnabcmnmn123mnkplmn##mn'
result = str1.split('mn')
print(result)       # ['', 'abc', '', '123', 'kpl', '##', '']

str1 = 'abcmn123mnkplmn##'
result = str1.split('mn', 2)
print(result)

3.字符串1.replace(字符串2, 字符串3) - 将字符串1中所有的字符串2都替换成字符串3
字符串1.replace(字符串2, 字符串3, N) - 将字符串1中前N个字符串2替换成字符串3

str1 = 'mnabcmnmn123mnkplmn##mn'
result = str1.replace('mn', 'ABC')
print(result)

result = str1.replace('mn', '')
print(result)


result = str1.replace('mn', 'AB', 3)
print(result)

4.字符串.strip() - 删除字符串左右两端的空白字符
字符串.rstrip()
字符串.lstrip()

str1 = '\n\t        小 明\n\t         '
print(str1)
print('------------------------------------华丽的分割线-----------------------------------')
result = str1.strip()
print(result)
print('------------------------------------华丽的分割线-----------------------------------')

str1 = '//小明'
result = str1.strip('/')
print(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值