Python

Python 知识量:10 - 41 - 150

6.2 获取子串><

字符串切片- 6.2.1 -

子串就是字符串的任意一部分,比如'pn'是'pnotes' 的子串。可以使用切片获取字符串的子串,具体方法是利用索引,分别指定子串的第一个字符的索引值和最后一个字符的索引值加1,即s[begin:end+1]。

>>> s='I like cake'
>>> s[0:6]
'I like'

切片的简洁表示- 6.2.2 -

通过省略第一个或第二个索引可以更加便捷的获取子串,例如:

>>> s='I like cake'
>>> s[:6]
'I like'
>>> s[7:]
'cake'
>>> s[:]
'I like cake'

可以利用以上简洁方式设计一个获取文件类型后缀的函数:

#s.py
def get_ext(fn):
    getdot=fn.rfind('.')
    if getdot==-1:  #没找到“.”
        return ''
    else:
        return fn[getdot+1:]

运行结果为:

>>> 
======================== RESTART: D:/PythonTestFile/s.py =======================
>>> get_ext('pnotes.txt')
'txt'
>>> get_ext('pnotes.doc')
'doc'
>>> get_ext('hello.py')
'py'
>>> get_ext('hello')
''

使用负数索引的切片- 6.2.3 -

如同访问字符串时一样,也可以使用负数索引来实现字符串切片操作。

>>> s='pnotes.cn'
>>> s[-9:-3]
'pnotes'
>>> s[-2:]
'cn'
>>> s[:-3]
'pnotes'