使用字串的過程中或多或少我們要將字串中的內容進行修改,雖然字串是不可改變的,但是我們可以使用方法來傳回修改後的副本。
以下我們將介紹幾個常用的字串修改方法,分別是lower()、upper()、lstrip()、rstrip ()、strip()。
這兩種方法和上一節的測試方法類似,前者是返回一個副本,副本中把字符串中所有字符轉換為了小寫字符,而後者是返回一個副本,副本中把字符串中所有字符轉換為了大寫字元。
看下面的例子:
>>>my_str='ABCabc'#包含大小寫字母的字串>>>my_str.upper()#將字串全部大寫'ABCABC'>>>my_str.lower()#將字串全部小寫'abcabc' >>>my_str#再看一下原始字串有沒有改變'ABCabc'
一定要注意的就是回傳的是副本,使用了方法,但是原始字串是沒有改變的,如果我們要取得副本,可以另取名,也可以直接覆寫。
>>>my_str=my_str.upper()#直接覆寫my_str>>>my_str'ABCABC'
這三種方法的原理類型,他們都是用於處理字串中的空白字元。
1) lstrip()方法會傳回副本,副本中的字串刪除所有前導的空白字元。
2) rstrip()方法會傳回一個副本,副本中的字串刪除所有後導的空白字符
3) strip()方法會傳回副本,副本中的字串刪除所有前導和後導的空白字元。
我們先定義一個字串my_str ='ntwww.dotcpp.comtn',然後看下圖:
在圖中前導為字串字串前面的空白字符,後導同理,前導對應的就是lstrip()方法,後導對應rstrip()方法,而strip()對應的是兩種方法的結合。
我們來看一下程式碼:
>>>my_str='ntwww.dotcpp.comtn'>>>my_str.rstrip()#傳回刪除後導空白字元的副本'nt>>>my_str.lstrip()#傳回刪除前導空白字元的副本'www.dotcpp.comtn'>>>my_str.strip()#傳回刪除前導後導空白字元的副本'www.dotcpp.com'
綜合程式碼和上圖來理解這個例子,通俗的講,前導返回的副本刪除了前面部分,後導返回的副本刪除了後面部分,而strip()方法返回的副本把前導後導一併刪除。
我們在寫程式的時候有時候需要搜尋字串中的元素,除了前面講過的find()方法和index()方法,我們有時還需要用到endswith()方法和startswith()方法。
它的語法格式為:
my_str.endswith(substring)
my_str為字串名,substring參數是一個字串,如果在該字串的結尾為substing,那麼回傳True,反之回傳False。
它的語法格式為:
my_str.startswith(substring)
my_str為字串名,substring參數是一個字串,如果在該字串的開頭為substing,那麼回傳True,反之回傳False。
舉個例子:
>>>my_str='www.dotcpp.com'>>>my_str.endswith('.com')True>>>my_str.startswith('www.')True
replace()方法傳回副本,副本中將我們需要替代的字元替換掉,它的語法格式為:
my_str.replace(old,new)
my_str為字串名,old為要替換掉的字符,new為替換上的字符。
舉個例子:
>>>my_str='www.dotcpp.com'>>>my_str.replace('w','m')'mmm.dotcpp.com'
這種方法替換的時候仍然是返回的副本,它會替換掉所有需要替換的字符,保持原始字符串是不改變的。