【Python基础知识】Python字符串方法汇总(下)

发布 : python培训      来源:python干货资料

2020-12-18 16:03:26

1、find()方法

字符串的find()方法用于寻找某个字符串中指定子字符串的位置。如果找到指定子字符串,那么返回它首次出现的位置:

  1. >>> 'banana'.find('an') # 'banana'中首次出现'an'的位置为1
  2. 1
  3. >>> 'banana'.find('na') # 'banana'中首次出现'na'的位置为2
  4. 2

如果未找到指定子字符串,那么返回-1:

  1. >>> 'banana'.find('apple')
  2. -1

find()方法还可以指定子字符串的查找范围:

  1. >>> words = 'Banana is my favorite fruit!'
  2. >>> words.find('a') # 如果不指定查找范围,'a'首次出现在位置1
  3. 1
  4. >>> words.find('a', 4) # 指定从索引为4的位置开始查找
  5. 5
  6. >>> words.find('an', 6, 10) # 指定在索引位置为6到10(不包括10)之间查找
  7. -1
  8. >>> words.find('is', 6, 10)
  9. 7

值得注意的是,find()方法应该仅被用来查找指定子字符串的位置,而不应该被用来确定某个字符串中是否包含指定子字符串,后者应该使用in操作符:

  1. >>> language = 'Python'
  2. >>> if language.find('P') != -1: # 不建议使用这种方式
  3. ... print('查找成功')
  4. ...
  5. 查找成功
  6. >>> if 'P' in language: # 推荐使用这种方式
  7. ... print('查找成功')
  8. ...
  9. 查找成功

in操作符当然也可以在指定范围内工作:

  1. >>> 'P' in language[1:]
  2. False
  3. >>> 't' in language[1:5]
  4. True
  5. >>> 't' in language[3:5]
  6. False

2、lower()方法和upper()方法

字符串的lower()方法用于将某个字符串的全部字母转换成小写字母,upper()方法用于将某个字符串的全部字母转换成大写字母:

  1. >>> language = 'Python PYTHON python'
  2. >>> language.lower()
  3. 'python python python'
  4. >>> language.upper()
  5. 'PYTHON PYTHON PYTHON'

3、strip()方法

字符串的strip()方法用于去除某个字符串首尾两端的空格:

  1. >>> words = ' I love Python. '
  2. >>> words.strip()
  3. 'I love Python.'

strip()方法也可以指定需要去除的字符串:

  1. >>> words = '-------- I love Python ------------'
  2. >>> new_words = words.strip('-') # 指定去除字符串首尾的'-'
  3. >>> new_words
  4. ' I love Python '

4、startswith()方法和endswith()方法

字符串的startswith()方法用于判断某个字符串是否以指定子字符串开头,endswith()方法用于判断某个字符串是否以指定子字符串结尾:

  1. >>> 'Python'.startswith('Py') # 判断是否以'Py'开头,结果为True
  2. True
  3. >>> 'Python'.startswith('Ja') # 判断是否以'Ja'开头,结果为False
  4. False
  5. >>> 'Python'.endswith('on') # 判断是否以'on'结尾,结果为True
  6. True
  7. >>> 'Python'.endswith('tho') # 判断是否以'tho'结尾,结果为False
  8. False

startswith()方法和endswith()方法分别可以筛选出一个单词列表中以指定字母为前缀或后缀的单词:

  1. >>> words_list = ['revive', 'worker', 'farmer', 'revalue', 'driver', 'recall', 'review']
  2. >>> # 筛选以re为前缀的单词
  3. >>> words_re = [word for word in words_list if word.startswith('re')]
  4. >>> words_re
  5. ['revive', 'revalue', 'recall', 'review']
  6. >>> # 筛选以er为后缀的单词
  7. >>> words_er = [word for word in words_list if word.endswith('er')]
  8. >>> words_er
  9. ['worker', 'farmer', 'driver']

endswith()方法还可以用来筛选文件扩展名:

  1. >>> files_list = ['aaa.py', 'xxx.txt', 'bbb.py']
  2. >>> # 筛选扩展名为.py的文件
  3. >>> py_files = [file for file in files_list if file.endswith('.py')]
  4. >>> py_files
  5. ['aaa.py', 'bbb.py']

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部