原文: How to Substring a String in Python

Python 提供了许多方法来截取字符串。这通常被称为 "切片"。

下面是其语法:

string[start:end:step]

其中,

start:子串的起始索引。这个索引的字符会被包含在子串中。如果没有 start,则假定它等于 0。

end:子串的终止索引。这个索引的字符不包括在子串中。如果没有 end,或者指定的值超过了字符串的长度,则默认为等于字符串的长度。

step:在当前字符之后的每一个 “step” 字符都要包括在内。默认值是 1。如果没有 step,则假定它等于1。

基本用法

string[start:end]:获取从 startend - 1 的所有字符

string[:end]:获取从字符串开头到 end - 1 的所有字符

string[start:]:获取从 start 到字符串末尾的所有字符

string[start:end:step]:获取从 startend - 1 的所有字符,不包括每一个 step 字符

示例

1. 获取一个字符串的前 5 个字符

string = "freeCodeCamp"
print(string[0:5])

输出:

> freeC

注意:print(string[:5]) 返回和 print(string[0:5]) 一样的结果。

2. 获取一个 4 个字符的子串,从字符串的第 3 个字符开始

string = "freeCodeCamp"
print(string[2:6])

输出:

> eeCo

3. 获取字符串的最后一个字符

string = "freeCodeCamp"
print(string[-1])

输出:

> p

注意,startend 索引可以是一个负数。负数意味着你从字符串的末尾开始计数,而不是从开头开始(从右到左)。

索引 -1 代表字符串的最后一个字符,-2 代表倒数第二个字符,以此类推。

4. 获取一个字符串的最后 5 个字符

string = "freeCodeCamp"
print(string[-5:])

输出:

> eCamp

5. 获取一个子串,其中包含除最后 4 个字符和第 1 个字符以外的所有字符

string = "freeCodeCamp"
print(string[1:-4])

输出:

> reeCode

6. 从一个字符串中获取每隔一个的字符

string = "freeCodeCamp"
print(string[::2])

输出:

> feCdCm