python编写字符串查找函数_Python简明教程---8,Python字
符串函数
好代码本⾝就是最好的⽂档。当你需要添加⼀个注释时,你应该考虑如何修改代码才能不需要注释。
—— Steve McConnell
⽬录
字符串有很多操作函数,所以,这⾥我们专门⽤⼀节来介绍这些函数。
建议:
做好的近义词由于字符串函数较多,对于新⼿来说,不必要⼀开就掌握所有的函数⽤法,可以先粗略的看⼀遍,有个⼤概印象,到真正⽤的着的时候,再来详细查看也可。⽤的次数多了,⾃然就记住了。
我们可以通过dir() 函数来查看⼀个对象⽀持的⽅法和属性有哪些,通过help() 函数查看某个⽅法的详情。
注意:
1,对象的概念会在后续章节详细介绍
2,这⾥我们⽆需过多的区分函数与⽅法的不同,暂时可以认为函数与⽅法相同
⽰例:
s = 'abc' # s 是⼀个字符串
毫米换算成厘米>>> dir(s) # 查看字符串⽀持的⽅法
['__add__', '__class__', '__contains__',
'__delattr__', '__dir__', '__doc__',
'__eq__', '__format__', '__ge__',
'__getattribute__', '__getitem__',
'__getnewargs__', '__gt__', '__hash__',
'__init__', '__init_subclass__', '__iter__',
'__le__', '__len__', '__lt__', '__mod__',
'__mul__', '__ne__', '__new__', '__reduce__',
'__reduce_ex__', '__repr__', '__rmod__',
'__rmul__', '__tattr__', '__sizeof__',
'__str__', '__subclasshook__',
'capitalize', 'cafold', 'center',
穿越的近义词'count', 'encode', 'endswith', 'expandtabs',
'find', 'format', 'format_map', 'index',
'isalnum', 'isalpha', 'isdecimal', 'isdigit',
'isidentifier', 'islower', 'isnumeric',
'isprintable', 'isspace', 'istitle', 'isupper',
'join', 'ljust', 'lower', 'lstrip', 'maketrans',
'partition', 'replace', 'rfind', 'rindex',
'rjust', 'rpartition', 'rsplit', 'rstrip',
'split', 'splitlines', 'startswith', 'strip',
'swapca', 'title', 'translate', 'upper', 'zfill']
>>> help(s.find) # 查看字符串的find ⽅法详情
Help on built-in function find:
find(...) method of builtins.str instance
# ⽅法原型
10的英语怎么读
# -> 符号之前是参数
# -> 符号之后时返回值类型
S.find(sub[, start[, end]]) -> int
# ⽅法介绍
Return the lowest index in S where substring sub is found,
such that sub is contained within S[start:end]. Optional
arguments start and end are interpreted as in slice notation.
# ⽅法返回值
Return -1 on failure.
(END)
Python 中双下划线 样式的⽅法__xxx__,被称为魔法⽅法(这⾥不做详细介绍),这⾥我们主要关注⾮魔法⽅法。这⾥的dir(s) 显⽰的所有⽅法中,除了魔法⽅法外,还有44 个⽅法,我们可以粗略的将这些⽅法分为以下8 类:字符串查找
字符⼤⼩写
判断字母数字
字符串填充
字符串格式化
父女情深共浴爱河
字符串截断
字符串分割
其它⽅法
下⾯我们逐⼀进⾏介绍。
1,字符串查找
1.find⽅法
作⽤:从左开始查找,返回⼦串sub 在S[start:end] 中的第⼀个下标
原型:S.find(sub[, start[, end]]) -> int
参数 sub:⼦字符串
参数 start:开始位置,可省,默认为 0
参数 end:结束位置,可省,默认为 len(S)
返回值:如果找到返回下标,否则返回 -1
⽰例:
>>> 'abcabcabc'.find('ca')
草房子好句摘抄
2 # 找到了,返回下标
>>> 'abcabcabc'.find('bbc')
-1 # 没找到,返回 -1
2.rfind⽅法
作⽤:从右开始查找,返回⼦串sub 在S[start:end] 中的第⼀个下标原型:S.rfind(sub[, start[, end]]) -> int
参数:同 find ⽅法
返回值:如果找到返回下标,否则返回 -1
⽰例:
>>> 'abcabcabc'.rfind('ca')
5
>>> 'abcabcabc'.rfind('bbc')
-1
3.index⽅法
作⽤:从左开始查找,返回⼦串sub 在S[start:end] 中的第⼀个下标原型:S.index(sub[, start[, end]]) -> int
参数 sub:⼦字符串
参数 start:开始位置,可省,默认为 0
参数 end:结束位置,可省,默认为 len(S)
返回值:如果找到返回下标,否则抛出ValueError 异常
⽰例:
>>> 'abcabcabc'.index('ca')
2
>>> 'abcabcabc'.index('bbc')
Traceback (most recent call last):
File "", line 1, in
ValueError: substring not found # ValueError 异常
关于Python 异常,将在后续章节详细介绍
4.rindex⽅法
作⽤:从右开始查找,返回⼦串sub 在S[start:end] 中的第⼀个下标原型:S.rindex(sub[, start[, end]]) -> int
参数:同index ⽅法
返回值:如果找到返回下标,否则抛出ValueError 异常
⽰例:
>>> 'abcabcabc'.rindex('ca')
5
>>> 'abcabcabc'.rindex('bbc')
Traceback (most recent call last):
File "", line 1, in
ValueError: substring not found
作⽤:统计⼦串sub在S[start:end] 中出现的次数
原型:S.count(sub[, start[, end]]) -> int
参数 sub:⼦字符串
参数 start:开始位置,可省,默认为 0
参数 end:结束位置,可省,默认为 len(S)
克洛诺斯返回值:⼦串出现的次数
⽰例:
>>> 'abcabcabc'.count('bc')
3
2,字符⼤⼩写
6.capitalize⽅法
作⽤:将字符串S的⾸字符变为⼤写,其余字符变为⼩写,对中⽂⽆效原型:S.capitalize() -> str
参数:⽆
返回值:新的字符串
⽰例:
>>> 'AbCdE'.capitalize()
'Abcde'
7.cafold⽅法
作⽤:将字符串S中的所有字符变为⼩写,对中⽂⽆效
原型:S.cafold() -> str
参数:⽆
返回值:新的字符串
⽰例:
>>> 'AbCdE'.cafold()
'abcde'
8.swapca⽅法
作⽤:将字符串S 中的⼤写字符转为⼩写,⼩写字符转为⼤写,对中⽂⽆效原型:S.swapca() -> str
参数:⽆
中国古代十大名将
返回值:新的字符串
⽰例:
>>> 'AbCdE中国'.swapca()
'aBcDe中国'
9.istitle⽅法
作⽤:判断S 中的单词,是否全都⾸字母⼤写,且其它字符⼩写
原型:S.istitle() -> bool
参数:⽆
返回值:True 或 Fal
⽰例:
>>> 'Abc De fj'.istitle()
Fal
>>> 'Abc De Fj'.istitle()
True
>>> 'Abc De Fj 中国'.istitle() # 可以有中⽂
True
>>> '中国'.istitle() # 不能只有中⽂
Fal
10.title⽅法
作⽤:将每个⾮字母后的第⼀个字母变为⼤写
原型:S.title() -> str
参数:⽆
返回值:新的字符串
⽰例:
>>> 'a3bc-abc abc'.title()