使用字符串的過程中或多或少我們要將字符串中的內(nèi)容進(jìn)行修改,雖然字符串是不可改變的,但是我們可以使用方法來返回修改后的副本。
下面我們將介紹幾種常用的字符串修改方法,分別是lower()、upper()、lstrip()、rstrip ()、strip()。
1. lower()方法和upper()方法
這兩種方法和上一節(jié)的測試方法類似,前者是返回一個(gè)副本,副本中把字符串中所有字符轉(zhuǎn)換為了小寫字符,而后者是返回一個(gè)副本,副本中把字符串中所有字符轉(zhuǎn)換為了大寫字符。
看下面的例子:
>>> my_str = 'ABCabc'#包含大小寫字母的字符串 >>> my_str.upper()#將字符串全部大寫 'ABCABC' >>> my_str.lower()#將字符串全部小寫 'abcabc' >>> my_str#再看一下原始字符串有沒有改變 'ABCabc'
一定要注意的就是返回的是副本,使用了方法,但是原始字符串是沒有改變的,如果我們要獲取副本,可以另取名,也可以直接覆蓋。
>>> my_str = my_str.upper()#直接覆蓋 my_str >>> my_str 'ABCABC'
2. lstrip()方法、rstrip ()方法和strip()方法
這三種方法的原理類型,他們都是用于處理字符串中的空白字符。
1) lstrip()方法會返回一個(gè)副本,副本中的字符串刪除所有前導(dǎo)的空白字符。
2) rstrip()方法會返回一個(gè)副本,副本中的字符串刪除所有后導(dǎo)的空白字符
3) strip()方法會返回一個(gè)副本,副本中的字符串刪除所有前導(dǎo)和后導(dǎo)的空白字符。
我們先定義一個(gè)字符串my_str =‘\n\twww.sztianhecheng.cn\t\n’,然后看下圖:
在圖中前導(dǎo)為字符串字符串前面的空白字符,后導(dǎo)同理,前導(dǎo)對應(yīng)的就是lstrip()方法,后導(dǎo)對應(yīng)rstrip()方法,而strip()對應(yīng)的是兩種方法的結(jié)合。
我們來看一下代碼:
>>> my_str = ' \n\t www.sztianhecheng.cn \t\n ' >>> my_str.rstrip()#返回刪除后導(dǎo)空白字符的副本 ' \n\t >>> my_str.lstrip()#返回刪除前導(dǎo)空白字符的副本 'www.sztianhecheng.cn \t\n ' >>> my_str.strip()#返回刪除前導(dǎo)后導(dǎo)空白字符的副本 'www.sztianhecheng.cn'
綜合代碼和上圖來理解一下這個(gè)例子,通俗的講,前導(dǎo)返回的副本刪除了前面部分,后導(dǎo)返回的副本刪除了后面部分,而strip()方法返回的副本把前導(dǎo)后導(dǎo)一并刪除。
3. 搜索方法
我們在寫程序的時(shí)候有時(shí)候需要搜索字符串中的元素,除了前面講過的find()方法和index()方法,我們有時(shí)候還需要用到endswith()方法和startswith()方法。
1) endswith()方法
它的語法格式為:
my_str.endswith(substring)
my_str為字符串名,substring參數(shù)是一個(gè)字符串,如果在該字符串的結(jié)尾為substing,那么返回True,反之返回False。
2) startswith()方法
它的語法格式為:
my_str.startswith(substring)
my_str為字符串名,substring參數(shù)是一個(gè)字符串,如果在該字符串的開頭為substing,那么返回True,反之返回False。
舉個(gè)例子:
>>> my_str = 'www.sztianhecheng.cn' >>> my_str.endswith('.com') True >>> my_str.startswith('www.') True
4. 替代方法——replace()
replace()方法返回一個(gè)副本,副本中將我們需要替代的字符替換掉,它的語法格式為:
my_str.replace(old,new)
my_str為字符串名,old為要替換掉的字符,new為替換上的字符。
舉個(gè)例子:
>>> my_str = 'www.sztianhecheng.cn' >>> my_str.replace('w','m') 'mmm.dotcpp.com'
這種方法替換的時(shí)候仍然是返回的副本,它會替換掉所有需要替換的字符,保持原字符串是不改變的。
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程