11.1 索引的设置
在Python中,提取子字符串是一个常用的操作,可以用来操作文本数据并从字符串中提取有用的信息。这里介绍几种获取子字符串的方法,每种方法都有自己的特点和应用场景。
使用切片
切片 (slices)是Python中获得子字符串的基本方法。Python中的切片通过语法 string[start:stop:step]创建,其中:
start— 起始索引(包括在内),stop— 终止索引(不包括在内),step— 提取字符的步长。
切片语法允许你指定想要提取的子字符串的起始和终止索引。
text = "Hello, world!"
substring = text[7:12] # 输出 'world'
11.2 部分索引的设置
提取子字符串时不一定要指定所有三个索引。
- 如果
start省略,切片从字符串的开头开始。 - 如果
stop省略,切片到字符串的结尾。 - 如果
step省略,字符一个一个提取。
例子:
我们写个例子,从第7个字符开始提取到字符串末尾
text = "Hello, world!"
substring = text[7:] # 输出 'world!'
现在从字符串开始提取到第10个字符。希望你记得,范围的最后一个字符不包括在子字符串结果中。
text = "Hello, world!"
substring = text[:10] # 输出 'Hello, wor'
11.3 负数索引
Python中的负数索引允许从字符串结尾开始访问元素。使用负数索引往往让代码更容易阅读和使用,尤其是在需要操作字符串结尾时。
获取字符串的最后一个字符:
text = "Python"
last_char = text[-1]
print(last_char) # 输出: 'n'
获取字符串的倒数第二个字符:
text = "Python"
second_last_char = text[-2]
print(second_last_char) # 输出: 'o'
获取字符串倒数三个字符:
text = "Python"
last_three = text[-3:]
print(last_three) # 输出: 'hon'
获取除去最后一个字符的字符串:
text = "Python"
all_but_last = text[:-1]
print(all_but_last) # 输出: 'Pytho'
切片的高级用法
通过参数step可以创建更复杂的切片,比如说字符反序提取:
# 反转字符串
print(text[::-1]) # '!dlrow ,olleH'
GO TO FULL VERSION