Python入門之字符串操作詳解_第1頁
Python入門之字符串操作詳解_第2頁
Python入門之字符串操作詳解_第3頁
Python入門之字符串操作詳解_第4頁
Python入門之字符串操作詳解_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論