字符串方法

Python提供了大量的方法用于字符串的查找、统计、连接、替换、分割、移除、转换等操作。下面罗列一些常用的字符串方法:

方法 说明
find() 用于在较长的字符串中查找子串。如果找到子串,返回子串所在位置的最左边索引,如果没有找到则返回-1。
count() 统计字符串里某个子串出现的次数。该函数返回子串在字符串中出现的次数。
spilt() 以指定字符为分隔符,从字符串左端开始将其分隔成多个字符串,并返回包含分隔结果的列表。
join() 用于将序列中的元素以指定的字符连接,生成一个新的字符。
replace() 用于将字符串中的旧字符串替换成新字符串
strip() 用于删除字符串两端连续的空白字符或指定字符
lower()和upper() lower()方法用于转换字符串中所有大写字符为小写,而upper()方法则用于转换字符串中所有小写字符为大写
isalnum() 用于检测字符串是否由字母和数字,或者两种的一种组成。如果是就返回True,否则返回False

tips:字符串对象提供的涉及字符串”修改“的方法都是返回修改后的新字符串,并不对原字符串作任何修改。

find()

find()用于在较长的字符串中查找子串如果找到子串,返回子串所在位置的最左边索引,如果没有找到则返回-1。其语法格式如下:

str.find(sub[,start[,end]])

其中,str表示被查找字符串;sub表示查找的子串;start表示开始索引,省略时默认为0;end表示结束索引,省略时默认为字符串的长度。

new_str = "I like learning Python"
a = new_str.find("like")
b = new_str.find("like",5,15)
print(a)
print(b)

输出结果:

2
-1

提示:用于查找子串的另一个常用方法是index()方法,该方法与find()方法的用法基本一致,区别在于当查找的子串不存在时,抛出异常。

count()

count()用于统计字符串里某个子串出现的次数。该函数返回子串在字符串中出现的次数。其语法格式如下:

str.count(sub[,start[,end]])

其中,str表示被查找字符串;sub表示统计的子串;start表示开始索引,省略时默认为0;end表示结束索引,省略时默认为字符串的长度。

new_str = "This is a Python book!"
a = new_str.count('is')	# 统计new_str中"is"的个数
b = new_str.count('is',1,6)	# 设置开始和结束索引,统计"is"出现的次数(注意:这里不包含下标为6的字符)
print(a)
print(b)

输出结果:

2
1

split()

split()以指定字符为分隔符,从字符串左端开始将其分隔成多个字符串,并返回包含分隔结果的列表。其语法格式如下:

str.split([delimiter,num])

其中,str表示被分隔的字符串;delimiter表示分隔符,省略时默认为空字符,包括空格、换行(\n)、制表符(\t)等;num表示分割次数,省略时默认全部分割。

>>>new_str = "This is an example of cutting"
>>>new_str.split()	# 以空字符为分隔符将字符串全部分割
['This','is','an','example','of','cutting']
>>>new_str.split('',3)	# 以空字符为分隔符将字符串分隔3次
['This','is','an','example of cutting']

join()

join() 用于将序列中的元素以指定的字符连接,生成一个新的字符。其语法格式如下:

str.join(sequence)

其中,str表示连接符,可以为空;sequence表示要连接的元素序列。

>>>new_str = "This is a python book!"
>>>'-'.join(new_str)	# 用‘-’连接new_str中的字符
'T-h-i-s- -i-s- -a- -python- -book-!'

replace()

replace() 用于将字符串中的旧字符串替换成新字符串。其语法格式如下:

str.replace(old,new[,max])

其中,str表示被查找字符串;old表示将被替换的子串;new表示新字符串,用于替换old子串;max是可选参数,表示替换不超过max次,省略时默认替换所有。

>>>new_str = "Monday Tuesday Wednesday"
>>>new_str.replace('day','DAY')	# 将new_str中的day替换为DAY
'MonDAY TuesDAY WednesDAY'
>>>new_str.replace('day','DAY',2)	# 将new_str中的day替换为DAY,限制为2次
'MonDAY TuesDAY Wednesday'

strip()

strip() 用于删除字符串两端连续的空白字符或指定字符。其语法格式如下:

str.strip([chars])

其中,str表示字符串;chars表示移除字符串两端指定的字符,省略时默认为空格。

>>>new_str = "110This is an example 0001"
>>>new_str.strip('1')	# 移除new_str两侧的1
'0This is an example 000'
>>>new_str.strip('01')	# 移除new_str两侧的0和1
'This is an example '

lower()和upper()

lower()方法用于转换字符串中所有大写字符为小写,而upper()方法则用于转换字符串中所有小写字符为大写。其语法格式如下:

str.lower()
str.upper()

其中,str表示字符串。

>>>new_str = "This is an EXAMPLE"
>>>new_str.lower()
'this is an example'
>>>new_str.upper()
'THIS IS AN EXAMPLE'

isalnum()

isalnum() 用于检测字符串是否由字母和数字,或者两种的一种组成。如果是就返回True,否则返回False。其语法格式如下:

str.isalnum()

其中,str表示要检测的字符串。

>>>new_str = "2018example"
>>>new_str.isalnum()	# 判断new_str中是否只有数字或字母或字母和数字
True
posted @ 2021-10-11 21:20  Cara_Smith  阅读(151)  评论(0编辑  收藏  举报