删除字符串头尾字符
在处理字符串时,有时需要删除字符串头尾的某些字符,这时可以使用strip()、lstrip()和rstrip()函数,如下表所示。
函数 | 说明 |
---|---|
strip([chars]) | 删除字符串头尾指定的chars字符,默认删除空白字符 |
lstrip([chars]) | 删除字符串头部指定的chars字符,默认删除空白字符 |
rstrip() | 删除字符串尾部指定的chars字符,默认删除空白字符 |
接下来演示这三个函数的用法,如下所示。
1 str1, str2, str3 = "\t隼与鱼\t", "***简书***", "goodprogrammer"
2 print(str1.strip())
3 print(str2.strip('*'))
4 print(str3.strip('good'))
5 print(str3.strip('odg'))
6 print(str2.lstrip('*'))
7 print(str2.rstrip('*'))
运行结果如下图所示。
运行结果
在上例中,第4行与第5行输出的结果相同,说明在指定删除字符时,字符的顺序并不重要,只需保证包含的字符相同,便可得到想要的结果。
检测子串
在处理字符串时,有时需要检测某个字符串中是否包含子字符串,这时可以使用find()函数,其语法格式如下:
find(str, beg = 0, end = len(string))
该函数检测str是否包含在检测字符串中。如果指定范围beg和end,则检查是否包含在指定范围内。如果包含,则返回开始的下标值,否则返回-1。
接下来演示该函数的用法,如下所示。
1 str = "遇到Python不会,就找简书,或者找隼与鱼"
2 print(str.find("简书"))
3 print(str.find("Python"))
4 print(str.find("隼与鱼", 10))
5 print(str.find("隼与鱼", 10, 14))
运行结果如下图所示。
运行结果
在上例中,第2行在字符串str中查找是否包含简书,结果返回简书在字符串中的下标。第3行在字符串str中查找是否包含Python,同样返回下标。第4行指定查找范围从下标为10的字符开始到字符串结尾(包含最后一个字符)。第5行指定查找范围从下标为10的字符开始到下标为14的前一个字符结束,返回结果为-1,说明不包含。
除此之外,还可以通过index()函数检测字串,其语法格式如下:
index(str, beg=0, end=len(string))
该函数的用法与find()函数类似,两者的区别:如果str不在字符串中,index()函数会报一个异常。
接下来演示其用法,如下所示。
1 str = "遇到Python不会,就找简书,或者找隼与鱼"
2 print(str.index("隼与鱼", 10))
3 print(str.index("隼与鱼", 10, 14))
运行结果如下图所示。
运行结果
在上例中,第3行在字符串str中没有检测到“隼与鱼”,此时会抛出一个异常,如上图中显示“ValueError: substring not found”。
替换子串
在文字处理软件中,都会有查找并替换的功能。在字符串中,可以通过replace()函数来实现,其语法格式如下:
replace(old, new [, max])
该函数将字符串中old替换成new并返回新生成的字符串。如果指定第三个参数max,则表示替换不超过max次。
接下来演示该函数的用法,如下所示。
1 str = "Anything I do, I spend a lot of time."
2 print(str.replace('I', 'you'))
3 print(str.replace('I', 'you', 1))
运行结果如下图所示。
运行结果
在上例中,第2行将字符串str中所有的字符'I'替换为'you',第3行将字符串str中字符'I'只替换一次为'you'。
统计子串个数
在文字处理软件中,都会有统计某个词语出现次数的功能。在字符串中,可以通过count()函数来实现,其语法格式如下:
count(str, beg = 0, end = len(string))
该函数返回str在字符串中出现的次数。如果指定beg或end,则返回指定范围内str出现的次数。
接下来演示该函数的用法,如下所示。
1 str = "Anything I do, I spend a lot of time."
2 print(str.count('I'))
3 print(str.count('I', 0, 10))
运行结果如下图所示。
运行结果
在下例中,第2行统计字符串str中字符'I'出现的次数,第3行统计在下标为0到下标为10的前一位之间字符中'I'出现的次数。
首字母大写
capitalize()函数用于将字符串的第一个字母变成大写,其他字母变成小写,其语法格式如下:
capitalize()
接下来演示该函数的用法,如下所示。
1 str = "sunyu is a great Website."
2 print(str.capitalize())
运行结果如下图所示。
运行结果
从运行结果可看出,输出的字符串首字母变成大写并且其他字母变成小写。
标题化
title函数可以将字符串中所有单词首字母大写,其他字母小写,从而形成标题,其语法格式如下:
title()
接下来演示该函数的用法,如下所示。
1 str = "隼与鱼 Python"
2 print(str.title())
运行结果如下图所示。
运行结果
从运行结果可看出,输出的字符串中每个单词首字母变成大写并且其他字母变成小写。
网友评论