本文已参与「新人创作礼」活动,一起开启掘金创作之路。
关于Python字符串的操作函数你知道几个呢?接下来为你介绍常用的一些python字符串函数!!!
大小写字母转换
# 示例字符串
x = "I love PyThon"
capitalize()
函数用途:将字符串首字母大写,其他字母小写
x.capitalize()
# 输出结果
'I love ptyhon'
注意: python字符串是不可变类型,所以字符串的所有操作函数是生成了新的字符串,并非修改了原字符串
casefold()
函数用途:将字符串的所有字母变为小写
x.casefold()
# 输出结果
'i love python'
title()
函数用途:将字符串中的每个单词首字母变为大写,其他小写
x.title()
# 输出结果
'I Love Python'
swapcase()
函数用途:将字符串的所有字母进行大小写反转
x.swapcase()
# 输出结果
'i LOVE fISHc'
upper()
函数用途:将字符串的所有字母变为大写
x.upper()
# 输出结果
'I LOVE PYTHON'
lower()
函数用途:将字符串的所有字母变为小写
x.lower()
# 输出结果
'i love python'
注意:lower()函数只能处理英文字母,而casefold()函数可以处理其他语言字母
左中右对齐
以下几个函数都有一个width参数,用来指定整个字符串的宽度,如果width的值小于等于字符串的长度,那么就会直接输出原字符串,fillchar参数是用来指定填充字符的,默认为空格
# 示例字符串
x = '小陈的掘金'
center(width, fillchar=‘ ’)
函数用途:居中对齐字符串
x.center(15)
# 输出结果
' 小陈的掘金 '
# 指定填充字符为"-"
x.center(15, "-")
# 输出结果
'-----小陈的掘金-----'
ljust(width, fillchar=‘ ’)
函数用途:左对齐字符串
x.ljust(15)
# 输出结果
'小陈的掘金 '
# 指定填充字符为"-"
x.ljust(15, "-")
# 输出结果
'小陈的掘金----------'
rjust(width, fillchar=‘ ’)
函数用途:右对齐字符串
x.rjust(15)
# 输出结果
' 小陈的掘金'
# 指定填充字符为"-"
x.rjust(15, "-")
# 输出结果
'----------小陈的掘金'
zfill(width)
函数用途:在字符串左侧填充0
x.zfill(15)
# 输出结果
'0000000000小陈的掘金'
查找元素
sub参数用来指定要查找的元素,可选参数start,end用来指定被查找字符串的始末位置
# 示例字符串
x = "上海自来水来自海上"
count(sub[, start[, end]])
函数用途:统计sub参数指定的元素在被查找字符串中出现的次数
x.count("海")
# 输出结果
2
# 指定查找范围
x.count("海", 0, 5)
# 输出结果
1
find(sub[, start[, end]])
函数用途:查找sub参数指定的元素在被查找的字符串中第一次出现的索引下标值
查找方向:从左向右查找
x.find("海")
# 输出结果
1
# 指定查找范围
x.find("海", 2, 5)
# 输出结果
-1 # 表示没有找到
rfind(sub[, start[, end]])
函数用途:查找sub参数指定的元素在被查找的字符串中第一次出现的索引下标值
查找方向:从右向左查找
x.rfind("海")
# 输出结果
7
# 指定查找范围
x.rfind("海", 2, 5)
# 输出结果
-1 # 表示没有找到
x.rfind("海", 0, 5)
# 输出结果
1
index(sub[, start[, end]])
函数用途:查找sub参数指定的元素在被查找的字符串中第一次出现的索引下标值,找不到指定的元素会抛出异常
查找方向:从左向右查找
x.index("海")
# 输出结果
1
# 指定查找范围
x.index("海", 2, 5)
# 输出结果
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
x.index("海", 2, 5)
ValueError: substring not found
rindex(sub[, start[, end]])
函数用途:查找sub参数指定的元素在被查找的字符串中第一次出现的索引下标值,找不到指定的元素会抛出异常
查找方向:从右向左查找
x.rindex("海")
# 输出结果
7
# 指定查找范围
x.rindex("海", 2, 5)
# 输出结果
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
x.rindex("海", 2, 5)
ValueError: substring not found
x.rindex("海", 0, 5)
# 输出结果
1
字符串替换
expandtabs([tabsize=8])
函数用途:将Tab制表符使用空格替代。tabsize参数表示一个Tab制表符被多少个空格替代,默认为8个空格
# 示例代码
code = """
print("I love python")
print("I love xiaochen")"""
print(code)
# 输出结果
print("I love python") # 该行使用Tab制表符缩进
print("I love xiaochen") # 该行使用4个空格缩进
# Tab缩进转换为4个空格
print(code.expandtabs(4))
# 输出结果
print("I love python")
print("I love xiaochen")
注意: 在代码编写过程中建议不要使用Tab制表符和空格混合缩进
replace(old, new, count=-1)
函数用途:将old指定的元素替换为new指定的元素,count参数表示替换的次数,默认为-1,即全部替换
# 示例字符串
x = "小陈爱python"
# 将python换成java
x.replace("python", "java")
# 输出结果
'小陈爱java'
translate(table)
函数用途:根据table参数返回一个新字符串,这里的table是表示一个转换规则的表格,而这个表格需要 str.maketrans(x[, y[, z]]) 这个方法生成
# 示例字符串
x = "I love xiaochen"
# 生成表格
table = str.maketrans("abcdef", "123456")
# 进行替换
x.translate(table)
# 输出结果
'I lov5 xi1o3h5n' # abcdef分别被123456替代
除此之外,str.maketrans(x[, y[, z]])这个方法还有第三个参数,这个第三个参数表示将指定的字符串忽略
# 忽略love字符串
table = str.maketrans("abcdef", "123456", "love")
x.translate(table)
# 输出结果
'I xi13hn'
关于python的学习,不能只看不做哦,要自己动手操作练习,这样才能加深自己对知识的印象。各位,加油吧!