python字符串操作汇总
常用操作#
定义字符串#
双引号中的字符串与单引号中的字符串的使用完全相同
使用三引号(‘’'或"“”) 利用三引号,你可以指示一个多行的字符串,输出是会以原样格式输出。你可以在三引号中自由的使用单引号和双引号(会被当成普通字符)。
str = '123'
str = "123"
str = """
i am a boy
i am a girl
i am a pig
''你好呀"
"""
索引#
str = "123abc"
print(str[0]) # 1
print(str[-1]) # c
切片#
str = "123abc"
print(str[2:3]) # 3 左闭右开
print(str[2:]) # 3abc 左闭右闭
print(str[:3]) # 123 左闭右开
print(str[0::2]) # 设置步长为2
查找#
str = "123abc"
# 根据 字符/字符串 找索引,找不到返回返回-1
print(str.find("b")) # 4
print(str.find("123")) # 0
print(str.find("d")) # -1
# 根据 字符/字符串 找索引,找不到报错
print(str.index("c")) # 5
print(str.find("23a")) # 1
print(str.index("d")) # 报错:ValueError: substring not found
替换#
str = "我是小明,今年3岁,喜欢吃鱼"
print(str.replace("小明", "鸽鸽")) # 我是鸽鸽,今年3岁,喜欢吃鱼
# replace()的第三个参数是替换不超过多少次
print("小明小明小明".replace("小明", "鸽鸽")) # 鸽鸽鸽鸽鸽鸽
print("小明小明小明".replace("小明", "鸽鸽", 2)) # 鸽鸽鸽鸽小明(替换不超过2次)
删除字符串前后的空格/字符#
# 删除字符串前后的空格
str = " hello word"
print(str.strip()) # hello word
# 删除字符串前后字符
str2 = "% hello word%"
print(str2.strip("%")) # hello word
print(str2.strip("% ")) # hello word
分隔字符串#
str = "my,name,is,zyz"
print(str.split(",")) # 返回列表 ['my', 'name', 'is', 'zyz']
# 默认以空格分隔
with open("新建 文本文档.txt", "r", encoding="utf-8") as f:
for line in f:
a, b, c = line.split()
print(a, b, c)
右侧开始分隔:rsplit()
判断字符串是否包含某字符/字符串#
str = "hello world"
res = 'a' in str
print(res) # False
res = 'a' not in str
print(res) # True
res = 'hello' in str
print(res) # True
大小写转换#
str = "123abcABC"
# 全部变大写、小写
print(str.upper()) # 123ABCABC
print(str.lower()) # 123abcabc
# 首字母大写
print(str.capitalize()) # 123abcabc
print("abc".capitalize()) # Abc
# 大小写互换
print(str.swapcase()) # 123ABCabc
居中(用空白/其他字符填充)#
str = "abc"
print(str.center(10,"*")) # ***abc****
print(str.center(13,"/")) # /////abc/////
print(str.center(13," ")) # abc
计算字符串中某字符/字符串的个数#
str = "abcacd"
print(str.count('a')) # 2
print(str.count('ab')) # 1
三种格式化输出format#
# 方式一
print("我是{},今年{}岁".format("小明", 3)) # 我是小明,今年3岁
# 方式二
print("我是{0},今年{1}岁,喜欢{2}".format("小明", 3, "吃鱼")) # 我是小明,今年3岁,喜欢吃鱼
print("我是{0},今年{1}岁,喜欢{0}".format("小明", 3, "吃鱼")) # 我是小明,今年3岁,喜欢小明
# 方式三
print("我是{name},今年{age}岁,喜欢{hobby}".format(name="小名", age=3, hobby="吃鱼")) # 我是小名,今年3岁,喜欢吃鱼
is系列#
str = "abc123"
# 判断是否都为数字
print(str.isdigit()) # False
# 判断是否都为字母
print(str.isalpha()) # False
# 判断是否都为数字或字母
print(str.isalnum()) # True
print()
# 判断是否都为空格
print("".isspace()) # False
print(" ".isspace()) # True
print("\n".isspace()) # True
print(" n ".isspace()) # False
循环#
str = "abc123"
for c in str:
print(c, end=" ") # a b c 1 2 3
作者:cloud-2-jane
出处:https://www.cnblogs.com/cloud-2-jane/articles/18563954
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架