11.1 指定索引
在Python中,提取子字串是一個常用的操作,它能讓我們操作文字數據並從字串中提取有意義的資訊部分。讓我們看看幾種取得子字串的方法,每一種都有自己的特點和應用領域。
使用切片
切片 (slices)
是取得Python子字串的主要方法。Python中的切片是透過語法string[start
:stop
:step
]創建的,其中:
start
— 起始索引 (包含),stop
— 終止索引 (不包含),step
— 提取字符的步長。
切片語法允許你指定要提取的子字串的起始和終止索引。
text = "Hello, world!"
substring = text[7:12] # 顯示 'world'
11.2 不完全指定索引
提取子字串的所有三個索引都不是必須的。
- 如果省略
start
,切片從字串的開頭開始。 - 如果省略
stop
,切片到字串的末尾。 - 如果省略
step
,則逐字符提取。
示例:
讓我們寫一個例子來獲取從第7個字符到字串結尾的子字串。
text = "Hello, world!"
substring = text[7:] # 顯示 'world!'
現在從字串的開頭到第10個字符。希望你記得,範圍的最後一個字符不包括在結果子字串中。
text = "Hello, world!"
substring = text[:10] # 顯示 'Hello, wor'
11.3 負索引
Python中的負索引允許你從字串的結尾開始訪問元素。使用負索引使代碼通常更具可讀性和方便,特別是當需要處理字串結尾時。
獲取字串的最後一個字符:
text = "Python"
last_char = text[-1]
print(last_char) # 顯示: 'n'
獲取字串的倒數第二個字符:
text = "Python"
second_last_char = text[-2]
print(second_last_char) # 顯示: 'o'
獲取字串的最後三個字符:
text = "Python"
last_three = text[-3:]
print(last_three) # 顯示: 'hon'
獲取字串排除最後一個字符:
text = "Python"
all_but_last = text[:-1]
print(all_but_last) # 顯示: 'Pytho'
進階使用切片
借助參數step
可以創建更複雜的切片,例如反向提取字符:
# 反轉字串
print(text[::-1]) # '!dlrow ,olleH'
GO TO FULL VERSION