字符串(六)

2019-01-12  本文已影响3人  5f2a6061653d

删除字符串头尾字符

在处理字符串时,有时需要删除字符串头尾的某些字符,这时可以使用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())

运行结果如下图所示。


运行结果

从运行结果可看出,输出的字符串中每个单词首字母变成大写并且其他字母变成小写。

上一篇 下一篇

猜你喜欢

热点阅读