原文: 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])输出:
> eeCo3. 获取字符串的最后一个字符
string = "freeCodeCamp"
print(string[-1])输出:
> p注意,start 或 end 索引可以是一个负数。负数意味着你从字符串的末尾开始计数,而不是从开头开始(从右到左)。
索引 -1 代表字符串的最后一个字符,-2 代表倒数第二个字符,以此类推。
4. 获取一个字符串的最后 5 个字符
string = "freeCodeCamp"
print(string[-5:])输出:
> eCamp5. 获取一个子串,其中包含除最后 4 个字符和第 1 个字符以外的所有字符
string = "freeCodeCamp"
print(string[1:-4])输出:
> reeCode6. 从一个字符串中获取每隔一个的字符
string = "freeCodeCamp"
print(string[::2])输出:
> feCdCm