Loading

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 
posted @ 2024-11-23 00:37  一只大学生  阅读(20)  评论(0编辑  收藏  举报