Python3常用的字符串处理函数

字符串作为一种常见的数据类型,在日常中我们面临各式各样的字符串处理问题,那么这就要求我们必须掌握一些常用的字符串处理函数,下面我将带领大家逐一去了解一下有哪些字符串函数及运用

一、字符串函数整理

capitalize() 把字符串的第一个字符改为大写
casefold() 把整个字符串的所有字符改为小写
center(width) 将字符串居中,并使用空格填充至长度 width 的新字符串
count(sub[, start[, end]]) 返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。
encode(encoding='utf-8', errors='strict') 以 encoding 指定的编码格式对字符串进行编码。
endswith(sub[, start[, end]]) 检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。
expandtabs([tabsize=8]) 把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。
find(sub[, start[, end]]) 检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。
index(sub[, start[, end]]) 跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常。
isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。
isalpha() 如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False。
isdecimal() 如果字符串只包含十进制数字则返回 True,否则返回 False。
isdigit() 如果字符串只包含数字则返回 True,否则返回 False。
islower() 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回 True,否则返回 False。
isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False。
isspace() 如果字符串中只包含空格,则返回 True,否则返回 False。
istitle() 如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回 True,否则返回 False。
isupper() 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回 True,否则返回 False。
join(sub) 以字符串作为分隔符,插入到 sub 中所有的字符之间。
ljust(width) 返回一个左对齐的字符串,并使用空格填充至长度为 width 的新字符串。
lower() 转换字符串中所有大写字符为小写。
lstrip() 去掉字符串左边的所有空格
partition(sub) 找到子字符串 sub,把字符串分成一个 3 元组 (pre_sub, sub, fol_sub),如果字符串中不包含 sub 则返回 ('原字符串', '', '')
replace(old, new[, count]) 把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。
rfind(sub[, start[, end]]) 类似于 find() 方法,不过是从右边开始查找。
rindex(sub[, start[, end]]) 类似于 index() 方法,不过是从右边开始。
rjust(width) 返回一个右对齐的字符串,并使用空格填充至长度为 width 的新字符串。
rpartition(sub) 类似于 partition() 方法,不过是从右边开始查找。
rstrip() 删除字符串末尾的空格。
split(sep=None, maxsplit=-1) 不带参数默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表。
splitlines(([keepends])) 在输出结果里是否去掉换行符,默认为 False,不包含换行符;如果为 True,则保留换行符。。
startswith(prefix[, start[, end]]) 检查字符串是否以 prefix 开头,是则返回 True,否则返回 False。start 和 end 参数可以指定范围检查,可选。
strip([chars]) 删除字符串前边和后边所有的空格,chars 参数可以定制删除的字符,可选。
swapcase() 翻转字符串中的大小写。
title() 返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。
translate(table) 根据 table 的规则(可以由 str.maketrans('a', 'b') 定制)转换字符串中的字符。
upper() 转换字符串中的所有小写字符为大写。
zfill(width)

返回长度为 width 的字符串,原字符串右对齐,前边用 0 填充。

二、常用的字符串函数及运用

1、检测字符串是否包含字符

find():检测字符串是否包含特定字符,如果包含则返回开始的索引及具体的位置;否则返回-1

# find()函数
str = 'hello Python3'
# 查找'Py'是否在字符串中
print( str.find('Py') )
#输出:6
# 查找'word'是否在字符串中
print( str.find('word') )
#输出:-1

index():检测字符串是否包含指定字符,如果包含则返回开始的索引值;否则提示ValueError: substring not found错误

# index()函数
str1 = 'hello Python3'
#'wo'在字符串中
print( str1.index('Py') )
#输出结果:6
#'word'不在字符串中,程序报错ValueError终止运行
print( str1.index('word') )
#输出结果: ValueError: substring not found

2、count()统计出现的次数(跟数据库统计数量一样的)

## count()函数
str2 = 'hello world'
# 统计str2中全部字母l的个数
print( str2.count('l') )
#输出结果:3
# 统计str2中从第5+1个字母到最后一个字母中,字母l的个数
print( str2.count('l', 5, len(str2)) )
#输出结果:1

3、replace()替换字符值

语法格式:str1.replace(str2, count)将str1中的str1替换成str2,如果指定count,则不超过count次;

str3 = 'hello world hello world'
str5 = 'world'
str6 = 'waltsmith'
# 将str3中所有的str5替换为str6
print( str3.replace(str5, str6) )
# 在str3中只将前1个str5替换为str6
print( str3.replace(str5, str6, 1) )

4、split()根据定界符分割所有能分割的

基本语法格式:str.split('分界符', maxSplit)maxSplit默认值为-1

#split()函数
str7 = 'I Love Python!'
# 以空格分割字符串,分界符默认为空格
print(str7.split(' ', 3))
# 以字母o作为分界符,指定最大分割为2,将返回最大分割+1个元素的列表
print(str7.split('o', 1))
#输出:
#['I', 'Love', 'Python!']
#['I L', 've Python!']

5、字符串转化大小写

capitalize()将字符串的首字母大写,其余字母全部小写;语法:str.capitalize()

#capitalize()函数
str8 = 'i Love Python!'
# 字符串的首字母大写,其余字母全部小写
print(str8.capitalize())
## 输出:I love python!

title()将字符串中的所有单词的首字母大写,其余字母全部小写;语法:str.title()

#title()函数
str9 = "i love python"
print(str9.title())
#输出:I Love Python
#字符中包含标点符号
str10 = "I lOVE pYthon"
print(str10.title())
#输出:I Love Python

lower()将字符串的所有字母转换为小写;语法:str.lower()

#lower()函数
str11 = "I LOVE PYTHON"
print(str11.lower())
#输出:i love python

upper()将字符串的所有字母转换为大写;语法:str.upper()

#upper()函数
str12 = "i love python"
print(str12.upper())
#输出:I LOVE PYTHON

startswith()检查字符串str是否 以字符串str1开头,若是则返回True;否则返回False;

#startswith()函数
str15 = "Hello Python"
print(str15.startswith("Hello"))
print(str15.startswith("My"))
#分别输出:True Flase

endswith()检查字符串str是否 以字符串str1结尾,若是则返回True;否则返回False;

#endswith()函数
str16 = "Hello Walt Smith"
print(str16.endswith("Smith"))
print(str16.endswith("Hello"))
#分别输出:True Flase

6、使用空格填充至指定长度

ljust()将字符串左对齐,并使用空格填充至指定长度len;语法:str.ljust(len)

#ljust()函数
str17 = "Hello"
print(str17.rjust(18))
print("str17的原长度为%d"% (len(str17)))
print("str17处理后的长度为%d" % (len(str17.ljust(20))))
#输出结果:
#----------Hello
#str17的原长度为5
#str17处理后的长度为20

rjust()将字符串右对齐,并使用空格填充至指定长度len;语法:str.rjust(len)

#rjust()函数
str18 = "Hello"
print(str18.rjust(18))
print("str18的原长度为%d" % (len(str18)))
print("str18处理后的长度为%d" % len(str18))
#输出:
# --------------Hello
# str18的原长度为5
# str18处理后的长度为18

center()将字符串居中,并使用空格填充至指定长度len;语法:str.center(len)

#center()函数
str19 = "Hello"
print(str19.center(20))
print("st19的原长度为%d" % (len(str19)))
print("str19处理后的长度为%d" % (len(str19.center(20))))
#输出结果:
#-------Hello-----   
#st12的原长度为5
#str12处理后的长度为20

7、去掉字符串中空格值

lstrip()去掉字符串左边的空白字符;语法:str.lstrip()​​​​​​​

#lstrip()函数
str20 = "   Hello Python"
print(str20.lstrip())
#输出:Hello Python

rstrip()去掉字符串右边的空白字符;语法:str.rstrip()​​​​​​​

#rstrip()函数
str21 = "   Hello Walt Smith   "
print(str21.rstrip())
#输出: -----Hello Walt Smith

strip()去掉字符串左右两边的空白字符;语法:str.strip()​​​​​​​

#strip()函数
str22 = "   Hello Python  "
print(str22.strip())
#输出:Hello Walt Smith

8、partition()在str中若str1不存在,则将str作为第一部分,后面两个元素为空;返回元组;​​​​​​​

#partition()函数
str25 = "Are you believe in yourself?"
# "yourself"在字符串中
print(str25.partition("yourself"))
# "you"在字符串中有两个
print(str25.partition("you"))
# "walt"不在字符串中
print(str25.partition("walt"))
#输出:
#('Are you believe in ', 'yourself', '?')
#('Are ', 'you', ' believe in yourself?')
#('Are you believe in yourself?', '', '')

9、join()将iterable中每两个相邻元素中间插入字符串str,返回形成的新的字符串;语法:str.join(iterable)​​​​​​​

#join()函数
str26 = "walt"
print(str26.join("ABC"))
iterable = ['YOU', 'THEY', 'WE']
print(str26.join(iterable))
## 输出:
##     AwaltBwaltC
##     YOUwaltTHEYwaltWE

10、判断字符串的类型是否是指定的

isspace()如果字符串str中只包含空格,则返回True;否则返回False;语法:str.isspace()​​​​​​​

#isspace()函数
str27 = " t "
print(str27.isspace())
#输出: False

isdigit()如果字符串str中只包含数字,则返回True;否则返回False;语法:str.isdigit()​​​​​​​

#isdigit()函数
str28 = "12356"
print(str28.isdigit())
#输出: True

isalpha()如果字符串str中只包含字母,则返回True;否则返回False;

#isalpha()函数
str29 = "MrYu"
print(str29.isalpha())
#输出:True
发布了35 篇原创文章 · 获赞 16 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/qq_38795430/article/details/97612260