Python字符串函数(上)

149 阅读5分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

关于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参数用来指定要查找的元素,可选参数startend用来指定被查找字符串的始末位置

# 示例字符串
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的学习,不能只看不做哦,要自己动手操作练习,这样才能加深自己对知识的印象。各位,加油吧!