原文: 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]
:获取从 start
到 end
- 1 的所有字符
string[:end]
:获取从字符串开头到 end
- 1 的所有字符
string[start:]
:获取从 start
到字符串末尾的所有字符
string[start:end:step]
:获取从 start
到 end
- 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
注意,start
或 end
索引可以是一个负数。负数意味着你从字符串的末尾开始计数,而不是从开头开始(从右到左)。
索引 -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