Python API快餐教程(1) - 字符串查找API

Python011

Python API快餐教程(1) - 字符串查找API,第1张

字符串是7种序列类型中的一种。

除了序列的操作函数,比如len()来求字符串长度之外,Python还为字符串提供丰富到可以写个编辑器的API.

首先,下面的查找API都是为了查找位置,或者查一共有几次这样的操作。

如果只是想判断一个字符串是不是另一个字符串的子串的话,使用序列的in运算符就可以了。

例:

原型:str.count(sub[, start[, end]])

字符串的count函数可以数出来有多少次匹配,我们看个例子,有5个ha和3个hei

输出为5和2.

haha只能匹配两次。

再加上扩展参数:

find函数的行为是,如果能找到,则返回在序列中的坐标,如果找不到,则返回-1. rfind是从右向左查找。我们来看例子:

输出值为0和6.

找不到的例子:

输出值都是-1.

完整形式:

index和rindex的功能与find和rfind基本上一致,除了在找不到时会抛出ValueError异常而不是返回-1.

例:

所以我们需要加try...except语句来处理之:

有时候,我们希望做从头匹配或者匹配尾部。这时候就要用到startswith函数和endswith函数。例:

这两个返回值均为True.

如果需要更复杂的匹配,还是需要正则表达式。与Java等语言不同,Python中的正则表达式有专门的模块,字符串的API不负责这个事情。

1、说明

可以使用find或者index来查询字符串,可以使用replace函数来替换字符串。

2、示例

1)查询

>>>'abcdefg'.find('cde')

结果为2

'abcdefg'.find('acde')

结果为-1

'abcdefg'.index('cde')

结果为2

2)替换

'abcdefg'.replace('abc','cde')

结果为'cdedefg'

3、函数说明

1)find(...)

S.find(sub[, start[, end]]) ->int

返回S中找到substring sub的最低索引,使得sub包含在S [start:end]中。 可选的 参数start和end解释为切片表示法。

失败时返回-1。

2)index(...)

S.index(sub[, start[, end]]) ->int

与find函数类似,但是当未找到子字符串时引发ValueError。

3)replace(...)

S.replace(old, new[, count]) ->str

返回S的所有出现的子串的副本旧换新。 如果可选参数计数为给定,只有第一个计数出现被替换。