版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第Python入門之字符串操作詳解目錄字符串字符串常用操作拼接字符串字符串復(fù)制計算字符串的長度截取字符串和獲取單個字符字符串包含判斷常用字符串方法把字符串的第一個字符大寫統(tǒng)計字符串出現(xiàn)的次數(shù)檢查字符串開頭檢查字符串結(jié)尾大寫轉(zhuǎn)小寫小寫轉(zhuǎn)大寫大小寫翻轉(zhuǎn)標(biāo)題化字符串空格刪除合并字符串分割字符串將字符串按照行分割判斷字符串只是數(shù)字判斷是空字符字符串填充字符串搜索字符串替換格式化字符串字符串編碼轉(zhuǎn)換
字符串
字符串常用操作
拼接字符串
拼接字符串需要使用+運(yùn)算符可完成對多個字符串的拼接。如
str="a"+"b"
字符串不允許直接與其他類型的數(shù)據(jù)拼接,需要將其他類型轉(zhuǎn)換為字符串才可以進(jìn)行拼接。
字符串復(fù)制
使用運(yùn)算符*重復(fù)輸出字符串
str="helloworld"*2
print(str)#helloworldhelloworld
計算字符串的長度
不同的字符所占字節(jié)數(shù)不同,在python中數(shù)字、英文、小數(shù)點、下劃線和空格占一個字節(jié),一個漢字可能會占2~4個字節(jié),取決于采用的編碼。漢字在GBK/GB2312編碼中占2個字節(jié),在UTF-8/Unicode編碼中一般占用3個字節(jié)(或4個字節(jié))。python中默認(rèn)的編碼格式是UTF-8,即一個漢字占3個字節(jié)。python中,提供了內(nèi)置函數(shù)len()計算字符串的長度,默認(rèn)情況下通過len()函數(shù)計算字符串的長度時,不區(qū)分英文、數(shù)字和漢字,所有字符都按照一個字符來計算
str="helloworld"
len=len(str)
print(len)#11
截取字符串和獲取單個字符
通過索引[]獲取字符串中指定位置的字符
str="helloworld"
print(str[0])#h
print(str[1])#e
在Python中,使用語法string[start:end],獲取字符串string中在[start,end)范圍的子字符串。注意范圍[start,end)包含start,不包含end。舉例如下:
str="helloworld"
print(str[0:3])#hel
print(str[:5])#hello
print(str[-3:])#rld
print(str[3:])#loworld
print(str[:])#helloworld
字符串包含判斷
通過關(guān)鍵字in檢查字符串中是否包含指定字符串
pd="hello"in"helloworld"#helloworld是否包含hello
print(pd)#True
pd="hello"notin"helloworld"#helloworld是否不包含hello
print(pd)#False
常用字符串方法
把字符串的第一個字符大寫
capitalize()方法把字符串的第一個字符大寫,示例如下:
text='abc'
text=text.capitalize()
print(text)#Abc
統(tǒng)計字符串出現(xiàn)的次數(shù)
count()方法用于檢索指定字符串中在另一個字符串中出現(xiàn)的次數(shù),如果檢索的字符串不存在,則返回0,否則返回出現(xiàn)的次數(shù)。
text='abcabc'
count=text.count('abc')#2
print(count)
檢查字符串開頭
startswith()方法用于檢索字符串是否以指定的子字符串開頭,如果是則返回True,否則返回False。
text='abc'
pd=text.startswith('ab')
print(pd)
檢查字符串結(jié)尾
endswith()方法用于檢索字符串是否以指定的子字符串結(jié)尾,如果是則返回True,否則返回False
text='abc'
pd=text.endswith('bc')
print(pd)
大寫轉(zhuǎn)小寫
lower()方法用于將字符串中的大寫字母轉(zhuǎn)換為小寫字符,如果字符串中沒有需要轉(zhuǎn)換的字符,則將原字符串返回。
text='ABC'
lower=text.lower()
print(lower)#abc
小寫轉(zhuǎn)大寫
upper()方法用于將字符串中的大寫字母轉(zhuǎn)換為小寫字符,如果字符串中沒有需要轉(zhuǎn)換的字符,則將原字符串返回。
str1="asdfg"
print(str1.upper())
大小寫翻轉(zhuǎn)
swapcase()方法用于對字符串的大小寫字母進(jìn)行轉(zhuǎn)換,即將大寫字母轉(zhuǎn)換為小寫字母,小寫字母會轉(zhuǎn)換為大寫字母。
str1='avvvv'
print(str1.swapcase())
標(biāo)題化字符串
istitle()方法檢測字符串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫。如果字符串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫則返回True,否則返回False.
str="Thisisstringexample....wow!!!";
printstr.istitle();
title()方法返回標(biāo)題化的字符串,就是說所有單詞都是以大寫開始,其余字母均為小寫
str="thisisstringexample....wow!!!"
print(str.title())#ThisIsStringExample....Wow!!!
空格刪除
text='abcdaaa'
print(text.strip())#刪除開始和結(jié)尾的空格
print(text.lstrip())#刪除左邊的空格
print(text.rstrip())#刪除右邊的空格
合并字符串
合并字符串與拼接字符串不同,它可以將多個字符串采用固定的分隔符連接在一起。合并字符串可以使用字符串對象的join()方法實現(xiàn)
text='abc'
print(text.join("def"))
分割字符串
分割字符串是把字符串分割為列表,通過split()函數(shù)可以實現(xiàn)字符串分割,也就是把一個字符串按照指定的分隔符切分為列表。
text='hello,a,v,c'
print(text.split(','))#['hello','a','v','c']
將字符串按照行分割
splitlines()按照行(\r,\r\n,\n)分隔,返回一個包含各行作為元素的列表,如果參數(shù)keepends為False,不包含換行符,如果為True,則保留換行符。
str1='abc\n1111\ndefg\rkl\r\n'
print(str1.splitlines())#['abc','1111','defg','kl']
判斷字符串只是數(shù)字
isnumeric()方法檢測字符串是否只由數(shù)字組成。如果字符串中只包含數(shù)字字符,則返回True,否則返回False
str="2009"
print(str.isnumeric())#True
判斷是空字符
isspace()方法檢測字符串是否只由空格組成。如果字符串中只包含空格,則返回True,否則返回False.
str="";
printstr.isspace();
字符串填充
zfill()方法返回指定長度的字符串,不夠的長度的原字符串前面填充0。
str="thisisstringexample....wow!!!"
print(str.zfill(40))#00000000thisisstringexample....wow!!!
ljust()方法和zfill一樣,默認(rèn)填充空白,我們可以指定填充的內(nèi)容,填充的方向是右側(cè)
str="thisisstringexample....wow!!!"
print(str.ljust(40,'0'))#thisisstringexample....wow!!!00000000
字符串搜索
find()方法用于檢索是否包含指定的子字符串,如果檢索的字符串不存在責(zé)返回-1,否則返回首次出現(xiàn)該子字符串時的索引
text='abcdef'
print(text.find("cd"))#2
python還提供了rfind()方法,其作用和find()方法類似,只是從字符串右邊開始檢索。
python還提供了index()方法同find()方法類似,也是用于檢索是否包含指定的子字符串。只不過是用index()方法時,當(dāng)指定的字符串不存在時則會拋出異常
python還提供了rindex()方法其作用同index()方法類似,只是從字符串右邊開始檢索。
字符串替換
replace()方法把字符串中的old(舊字符串)替換成new(新字符串),如果指定第三個參數(shù)max,則替換不超過max次。
參數(shù)
old將被替換的子字符串。
new新字符串,用于替換old子字符串。
max可選字符串,替換不超過max次(默認(rèn)最大)
str="thisisstringexample....wow!!!thisisreallystring"
print(str.replace("is","was"))
格式化字符串
格式化字符串是指先制定一個模板,在這個模板中預(yù)留幾個空位,然后在根據(jù)需要填上相對應(yīng)的內(nèi)容。這些空位需要通過指定的符號標(biāo)記(也稱為占位符),而這些符號還不會顯示出來。
python中提供了如下兩種方法格式化字符串:
使用%操作符
text='hello%s'%'java'
print(text)#hellojava
text='hello%s%s'%('java','python')
print(text)#hellopythonworld
使用字符串對象的format()方法
在創(chuàng)建模板時需要使用{}和:,指定占位符,例如:
字符串編碼轉(zhuǎn)換
Python3.x默認(rèn)采用UTF-8編碼格式,有效地解決了中文亂碼的問題。但是有些時候數(shù)據(jù)是第三方獲取的,那么我們就不能保證編碼就是UTF-8的所以我們就需要進(jìn)行編碼轉(zhuǎn)換了
編碼
encode()方法用于將str類型轉(zhuǎn)換成bytes類型,這個過程也稱為編碼。str.encode([encoding=utf-8][,errors=strict])
注意:格式中用[]括起來的參數(shù)為可選參數(shù),也就是說,在使用此方法時,可以使用[]中的參數(shù),也可以不使用。該方法各個參數(shù)的含義如表所示。
注意:使用encode()方法對原字符串進(jìn)行編碼,不會直接修改原字符串,如果想修改原字符串,需要重新賦值。
str="中文網(wǎng)"
encode=str.encode('utf-8')#返回的類型為bytes
print(encode)#b'\xe4\xb8\xad\xe6\x96\x87\xe7\xbd\x91'
解碼
和encode()方法正好相反,decode()方法用于
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025上海上纜神舟線纜有限公司招聘6人筆試參考題庫附帶答案詳解
- 旅行社服務(wù)操作手冊
- 2026上海復(fù)旦大學(xué)化學(xué)系招聘專任助理研究員1人備考題庫含答案詳解(培優(yōu)b卷)
- 網(wǎng)絡(luò)設(shè)備配置與故障排除手冊
- 企業(yè)質(zhì)量管理體系建立與優(yōu)化手冊
- 2026廣東佛山市順德區(qū)東馬寧小學(xué)招聘臨聘教師1人備考題庫附參考答案詳解(基礎(chǔ)題)
- 2026中共通榆縣委巡察工作領(lǐng)導(dǎo)小組辦公室選調(diào)事業(yè)編制人員1人備考題庫(吉林)帶答案詳解(黃金題型)
- 2026云南雙江興順和投資運(yùn)營集團(tuán)有限責(zé)任公司招聘8人備考題庫完整參考答案詳解
- 2026中國國際航空股份有限公司廣東分公司休息室就業(yè)見習(xí)崗招聘2人備考題庫及答案詳解(有一套)
- 2026山東石油化工學(xué)院人才招聘80人備考題庫含答案詳解(典型題)
- 就業(yè)部門內(nèi)控制度
- 2026屆江蘇省徐州市侯集高級中學(xué)高一上數(shù)學(xué)期末復(fù)習(xí)檢測試題含解析
- 飛行固模課件
- 2026中國電信四川公司校園招聘備考題庫附答案
- 住院患者安全告知
- 2026年短視頻合作合同
- 2025年山東省濟(jì)南市中考地理試題(含答案)
- 2025年秋譯林版(三起)(2024)小學(xué)英語三年級上冊期末檢測試卷及答案
- 2025年司機(jī)崗前培訓(xùn)試卷及答案
- 2025年村干部考試測試題及答案
- 水工金屬結(jié)構(gòu)制造安裝質(zhì)量檢驗檢測規(guī)程(2025版)
評論
0/150
提交評論