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 国际」许可协议进行许可。

posted @   一只大学生  阅读(24)  评论(0编辑  收藏  举报
编辑推荐:
· 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 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示