前言

前一個單元提到,Python 中字串是由 str 工廠(class) 所定義跟創建的常用的資料型態,也介紹了一些字串的基本操作,而這一個單元要帶大家看更多 python string 的酷功能!

提取特定字符

index
我們可以透過 str[index] 的方式取出字串裡特定位置的字符,要注意的是 python 的 index 是從0開始算喔,也就是說第一個字元其實會是第「0」個

python 還有一個很酷的地方,是可以直接用 [-1] 來取得最後一個字元,[-2] 可以取得倒數第二個,以此類推 r。

slice
知道了 index 的觀念後,我們還可以對字串 slice 提取字串中的一段子字串,用法如 str[start : end : step]
start:提取的起始位置 end:結尾位置(不包含) step:提取字符的間隔(每幾個字符取一個)

三個數值可以依據需求省略,來達到特定效果,如:

str [start : ] 從 start 開始取到最後
str [ : end ] 從開頭取到 end(不包含)
str [ : : 3 ] 從頭到尾,間隔 step 取出字符

常用的字串處理方法
接下來讓我們看一下 str class 中的好用絕招(method),這些都是在 python 中常用來處理字串的方法:

len(str):取得字串長度。

find(substr):在字串中尋找substr第一次出現的位置,若不存在則會回傳 -1 。

upper():轉換為全大寫字母。
lower(): 轉換為全小寫字母。

 

capitalize(): 將字符串的第一個字母大寫,其餘小寫。
title(): 將每組單詞(以空格區分)的第一個字母大寫,其餘小寫。

swapcase():大小寫轉換。

center(width, fillchar): 排版好幫手,將字串居中,並用指定的字符填充空白。

replace(old, new, max_replace): 將字串中的某些子字串替換為新的子字串。


小提醒
Python 的字串是不可變(immutable)的資料型態,我們可以對字符串做許多操作來創建新的字符串。但這些函式不會改變原始字串本身,而是像產生一個新的字串。因此,操作完字串後,原字串保持不變,而我們可以透過重新宣告一個變數來記錄處理過後的字串。

例如:

在這個例子中, text.upper() 創建了一個新字符串 new_text,而原字符串 text 並沒有改變。

結語
字串是 Python 中重要且常用的資料型態,可以運用字串來進行各種資料處理,這篇文章提到的絕招還只是一小部分,還有許多厲害的操作等著你探索,不妨到自己的 python console 中玩玩,讓我們一起進入字串的神秘世界吧!

Close Menu