1、find()方法
字符串的find()方法用于寻找某个字符串中指定子字符串的位置。如果找到指定子字符串,那么返回它首次出现的位置:
- >>> 'banana'.find('an') # 'banana'中首次出现'an'的位置为1
- 1
- >>> 'banana'.find('na') # 'banana'中首次出现'na'的位置为2
- 2
如果未找到指定子字符串,那么返回-1:
- >>> 'banana'.find('apple')
- -1
find()方法还可以指定子字符串的查找范围:
- >>> words = 'Banana is my favorite fruit!'
- >>> words.find('a') # 如果不指定查找范围,'a'首次出现在位置1
- 1
- >>> words.find('a', 4) # 指定从索引为4的位置开始查找
- 5
- >>> words.find('an', 6, 10) # 指定在索引位置为6到10(不包括10)之间查找
- -1
- >>> words.find('is', 6, 10)
- 7
值得注意的是,find()方法应该仅被用来查找指定子字符串的位置,而不应该被用来确定某个字符串中是否包含指定子字符串,后者应该使用in操作符:
- >>> language = 'Python'
- >>> if language.find('P') != -1: # 不建议使用这种方式
- ... print('查找成功')
- ...
- 查找成功
- >>> if 'P' in language: # 推荐使用这种方式
- ... print('查找成功')
- ...
- 查找成功
in操作符当然也可以在指定范围内工作:
- >>> 'P' in language[1:]
- False
- >>> 't' in language[1:5]
- True
- >>> 't' in language[3:5]
- False
2、lower()方法和upper()方法
字符串的lower()方法用于将某个字符串的全部字母转换成小写字母,upper()方法用于将某个字符串的全部字母转换成大写字母:
- >>> language = 'Python PYTHON python'
- >>> language.lower()
- 'python python python'
- >>> language.upper()
- 'PYTHON PYTHON PYTHON'
3、strip()方法
字符串的strip()方法用于去除某个字符串首尾两端的空格:
- >>> words = ' I love Python. '
- >>> words.strip()
- 'I love Python.'
strip()方法也可以指定需要去除的字符串:
- >>> words = '-------- I love Python ------------'
- >>> new_words = words.strip('-') # 指定去除字符串首尾的'-'
- >>> new_words
- ' I love Python '
4、startswith()方法和endswith()方法
字符串的startswith()方法用于判断某个字符串是否以指定子字符串开头,endswith()方法用于判断某个字符串是否以指定子字符串结尾:
- >>> 'Python'.startswith('Py') # 判断是否以'Py'开头,结果为True
- True
- >>> 'Python'.startswith('Ja') # 判断是否以'Ja'开头,结果为False
- False
- >>> 'Python'.endswith('on') # 判断是否以'on'结尾,结果为True
- True
- >>> 'Python'.endswith('tho') # 判断是否以'tho'结尾,结果为False
- False
startswith()方法和endswith()方法分别可以筛选出一个单词列表中以指定字母为前缀或后缀的单词:
- >>> words_list = ['revive', 'worker', 'farmer', 'revalue', 'driver', 'recall', 'review']
- >>> # 筛选以re为前缀的单词
- >>> words_re = [word for word in words_list if word.startswith('re')]
- >>> words_re
- ['revive', 'revalue', 'recall', 'review']
- >>> # 筛选以er为后缀的单词
- >>> words_er = [word for word in words_list if word.endswith('er')]
- >>> words_er
- ['worker', 'farmer', 'driver']
endswith()方法还可以用来筛选文件扩展名:
- >>> files_list = ['aaa.py', 'xxx.txt', 'bbb.py']
- >>> # 筛选扩展名为.py的文件
- >>> py_files = [file for file in files_list if file.endswith('.py')]
- >>> py_files
- ['aaa.py', 'bbb.py']