Python API快餐教程(1) - 字符串查找API
2017-08-02 20:04
411 查看
字符串处理相关API
字符串是7种序列类型中的一种。除了序列的操作函数,比如len()来求字符串长度之外,Python还为字符串提供丰富到可以写个编辑器的API.
查找类API
首先,下面的查找API都是为了查找位置,或者查一共有几次这样的操作。如果只是想判断一个字符串是不是另一个字符串的子串的话,使用序列的in运算符就可以了。
例:
str1 = "hahahahaha,heiheihei" if 'haha' in str1: print('haha is a substring of '+str1) else: print('haha is NOT a substring of '+str1)
数数有多少个匹配的字符串 - count函数
原型:str.count(sub[, start[, end]])* sub:要查找的子字符串
* start:起始位置
* end:结束位置
字符串的count函数可以数出来有多少次匹配,我们看个例子,有5个ha和3个hei
str1 = "hahahahaha,heiheihei" print(str1.count('ha')) print(str1.count('haha'))
输出为5和2.
haha只能匹配两次。
再加上扩展参数:
print(str1.count('ha',1)) print(str1.count('ha',0,5))
不抛异常的查找 find和rfind
find函数的行为是,如果能找到,则返回在序列中的坐标,如果找不到,则返回-1. rfind是从右向左查找。我们来看例子:print(str1.find('haha')) print(str1.rfind('haha'))
输出值为0和6.
找不到的例子:
print(str1.find('hoho')) print(str1.rfind('hi'))
输出值都是-1.
完整形式:
* str.find(sub[, start[, end]])
* str.rfind(sub[, start[, end]])
会抛异常的查找:index和rindex
index和rindex的功能与find和rfind基本上一致,除了在找不到时会抛出ValueError异常而不是返回-1.例:
>>> str1 = "hehe" >>> str1.index('ha') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found
所以我们需要加try…except语句来处理之:
try: str1.index('hoho') except ValueError: print('hoho cannot be found in '+str1)
从头查找和从尾查找 startswith, endswith
有时候,我们希望做从头匹配或者匹配尾部。这时候就要用到startswith函数和endswith函数。例:print(str1.startswith('ha')) print(str1.endswith('hei'))
这两个返回值均为True.
如果需要更复杂的匹配,还是需要正则表达式。与Java等语言不同,Python中的正则表达式有专门的模块,字符串的API不负责这个事情。
小结
判断字符串是不是在别一个串中能找到:in判断是否左匹配:startswith
判断是否右匹配:endswith
数数能匹配多少次:count
不抛异常的求匹配位置:find,rfind
会抛异常的求匹配位置:index,rindex
相关文章推荐
- 代码干货|Python API快餐教程(1) - 字符串查找API
- 使用python+flask让你自己api(教程源代码)
- 黄聪:Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- Python学习教程(三)——序列之字符串
- python文档字符串查找应用---find()
- Python 3基础教程2-打印语句和字符串
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- Python----使用正则re查找文本中特定中文字符串
- Python教程(2.4)——字符串
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- Python 字符串操作(截取/替换/查找/分割)
- python算法-字符串查找KMP算法
- python基础教程学习笔记 —字符串
- Python基础学习教程(三)之字符串的秘籍
- Python 正则表达式查找多个字符串中的一个
- Python基础教程-字符串和编码
- 字符串处理是许多程序中非常重要的一部分,它们可以用于文本显示,数据表示,查找键和很多目的.在Unix下,用户可以使用正则表达式的强健功能实现这些 目的,从Java1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价值的基础
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)