如何在Python中获取字符串的子字符串?

2024-04-19 11:16:42 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法在Python中对一个字符串进行子串,从第三个字符到字符串的末尾得到一个新字符串?

也许像myString[2:end]

如果离开第二部分意味着“直到结束”,如果你离开第一部分,它是否从开始开始?


Tags: 字符串字符end末尾办法子串mystring
3条回答

Substr()通常(即PHP和Perl)是这样工作的:

s = Substr(s, beginning, LENGTH)

所以参数是beginningLENGTH

但是Python的行为是不同的;它期望开始和结束之后(!)。初学者很难发现这一点。因此正确替换Substr(s,start,LENGTH)是

s = s[ beginning : beginning + LENGTH]
>>> x = "Hello World!"
>>> x[2:]
'llo World!'
>>> x[:2]
'He'
>>> x[:-2]
'Hello Worl'
>>> x[-2:]
'd!'
>>> x[2:-2]
'llo Worl'

Python将这个概念称为“切片”,它不仅仅适用于字符串。请看here以获得全面的介绍。

只是为了完整,因为没人提到过。数组切片的第三个参数是一个步骤。因此,反转字符串非常简单:

some_string[::-1]

或者选择替代字符:

"H-e-l-l-o- -W-o-r-l-d"[::2] # outputs "Hello World"

向前和向后遍历字符串的能力与能够从开始或结束进行数组切片保持一致。

相关问题 更多 >