Skip to content

字符串操作

我们可以对字符串(字符序列)执行各种操作,例如切片、成员检查、连接和重复。

切片 (Slicing)

在 Python 中,可以使用索引轻松访问字符串中的字符。

python
>>> s = "Hello"
>>> s[1]
'e'

Python 还提供了一种从字符串访问子字符串的方法。这个子字符串称为切片 (slice),可以使用切片运算符 [n:m] 来获取,它返回字符串中从开始索引 (n) 到结束索引 (m) 的部分,包括第一个但不包括最后一个。

python
>>> s = "Hello"
>>> s[1:3]
'el'

如果省略开始索引 (n),则 n 的默认值设置为 0,表示字符串的开头。如果省略结束索引 (m),则子字符串在字符串的最后一个字符处结束。

python
>>> s = "Hello"
>>> s[:3]
'Hel'
>>> s[3:]
'lo'
>>> s[:]
'Hello'

切片运算符也支持负索引。

python
>>> s = "Hello"
>>> s[-4:-2]
'el'

在上面的示例中,-4 等效于 len(s) - 4 = 5 - 4 = 1-2 等效于 5 - 2 = 3。因此,s[-4:-2]s[1:3] 相同。

切片运算符还允许使用第三个索引,称为步长 (step),它允许用户跳过字符。

python
>>> s = "Hello"
>>> s[0:5:2]
'Hlo'

在上面的示例中,子字符串从字符串的开头开始,步长为 2 跳过 e,并在最后一个字符处结束,再次跳过第 4 个字符 l

成员检查 (Membership)

innot in 运算符可用于确定子字符串是否存在于字符串中。

python
>>> s = "Hello"
>>> "lo" in s
True
>>> "lp" not in s
True

连接 (Concatenation)

+ 运算符可用于连接两个字符串。

python
>>> s1 = "Hello"
>>> s2 = "Python"
>>> s1 + s2
'HelloPython'
>>> s1 + "World"
'HelloWorld'

重复 (Repetition)

* 运算符将字符串重复整数操作数指定的次数。

python
>>> s = "Hello"
>>> s*3
'HelloHelloHello'