python中字符串的常見操作方法


1. 字符串概念,字符串是一個容器,包含若干個字符並按照一定的順序組織成一個整體。字符串支持索引操作。

2. 創建字符串基本語法

變量名 = "字符串信息"

變量名 = '字符串信息'

變量名 = """字符串信息"""

變量名 = '''字符串信息'''

3. 注意事項,字符串定義過程中如出現"匹配問題,使用\"進行轉義

4. 字符串切片概念,字符串切片指獲取字符串中的某一部分,形成新的字符串對象。

5. 字符串切片基本語法

字符串[開始索引:結束索引]

字符串[開始索引:結束索引:步長]

6. 字符串操作

狀態獲取操作

方法名

功能

參數

返回值

范例

islower()

關鍵詞:是否全小寫

判斷字符串是否是全小寫字母組成

結果是True或False

info1 = "fandx"
info1.islower()  結果:True

info2 = "FANDX"
info2.islower()  結果:False

isupper()

關鍵詞:是否全大寫

判斷字符串是否是全大寫字母組成

結果是True或False

info1 = "fandx"
info1.issupper()  結果:False

info2 = "Fandx"
info2.issupper()  結果:True

isdigit()

關鍵詞:是否全數字

判斷字符串是否是由純數字組成

結果是True或False

info1 = "666"
info1.isdigit()  結果:True

info2 = "fandx666"
info2.isdigit()  結果:False

isalpha()

關鍵詞:是否全字母

判斷字符串是否是由純字母組成

結果是True或False

info1 = "fandx"
info1.isalpha()  結果:True

info2 = "fandx666"
info2.isalpha()  結果:False

isalnum()

關鍵詞:是否全數字字母

判斷字符串是否是由純數字和字母組成

結果是True或False

info1 = "fandx666"
info1.isalnum()  結果:True

info2 = "fandx_666"
info2.isalnum()  結果:False

istilte()

關鍵詞:是否單詞首字母大寫

判斷字符串是否是滿足單詞首字母大寫格式

結果是True或False

info1 = "FAN dx"
info1.istitle()  結果:True

info2 = "fandx"
info2.istitle()  結果:False

startswith(str)

關鍵詞:判定前綴

判斷字符串是否以指定字符串開始

str:用於作為判定條件的字符串對象

結果是True或False

info = "logo.png"
info.startswith("lo")  結果:True

endswith(str)

關鍵詞:判定后綴

判斷字符串是否以指定字符串結束

str:用於作為判定條件的字符串對象

結果是True或False

info = "logo.png"
info.endswith(".png")  結果:True

 

字符轉換操作

方法名

功能

參數

返回值

范例

lower()

關鍵詞:轉小寫

字符串中所有字母轉小寫字母,支持英文字母

結果是一個字符串

str1 = "fandx"
str1.lower()       結果:"fandx"
str2 = "FANDX666"
str2.lower()      結果:"fandx666"

casefold()

關鍵詞:轉小寫

字符串中所有字母轉小寫字母,支持各種語言

結果是一個字符串

str1 = "fandx"
str1.lower()       結果:"fandx"
str2 = "FANDX666"
str2.lower()       結果:"fandx666"

upper()

關鍵詞:轉大寫

字符串中所有字母轉大寫字母

結果是一個字符串

str1 = "fandx"
str1.upper()       結果:"FANDX"
str2 = "FANDX666"
str2.upper()       結果:"fandx666"

swapcase()

關鍵詞:大小寫互換

字符串中字母大寫轉小寫,小寫轉大寫

結果是一個字符串

str1 = "FANdx"
str1.swapcase()    結果:"fanDX"
str2 = "fandx666"
str2.swapcase()    結果:"FANDX666"

title()

關鍵詞:單詞首字母大寫其他小寫

字符串中每個單詞首字母大寫,其余字母小寫(區分單詞以空格區分)

結果是一個字符串

str1 = "fandx"
str1.title()      結果:"Fandx"
str2 = "FANDX"
str2.title()      結果:"FANDX"

capitalize()

關鍵詞:字符串首字母大寫其他小寫

字符串首個字母大寫,其余字母小寫

結果是一個字符串

str1 = "fandx"
str1.capitalize()  結果:"Fandx"
str2 = "fandx"
str2.capitalize()  結果:"Fandx"

 

格式轉換操作

方法名

功能

參數

返回值

范例

strip (str)

關鍵詞:左右去字符

去掉字符串左右兩側在參數字符串中包含的所有字符

str:包含了若干個字符的字符串

結果是一個字符串

str1 = "  fandx  "
str1.strip(" ")        結果:"fandx"
str2 = "fandx"
str2.strip("fan")       結果:"dx"
str3 = "fandx"
str3.strip("dx")      結果:"fan"

lstrip (str)

關鍵詞:左側去字符

去掉字符串左側在參數字符串中包含的所有字符

str:包含了若干個字符的字符串

結果是一個字符串

str1 = "  fandx  "
str1.lstrip(" ")        結果:"fandx  "
str2 = "fandx"
str2.lstrip("fan")       結果:"dx"
str3 = "fandx"
str3.lstrip("dx"    結果:"fan"

ljust (len,str)

關鍵詞:右側補占位符

使用指定字符在原始字符串右側補充到長度為指定值

len:補充字符后的字符串長度

str:補充的字符,如果使用多個字符組成的字符串將報錯

結果是一個字符串

str1 = "fandx"
str1.ljust(9,"6")      結果:"fandx6666"
str1.ljust(4,"6")       結果:"fandx"
str1.ljust(9,"66")     結果:報錯

rjust (len,str)

關鍵詞:左側補占位符

使用指定字符在原始字符串左側補充到長度為指定值

len:補充字符后的字符串長度

str:補充的字符,如果使用多個字符組成的字符串將報錯

結果是一個字符串

str1 = "fandx"
str1.rjust(9,"6")      結果:"6666fandx"
str1.rjust(4,"6")       結果:"fandx"
str1.rjust(9,"66")     結果:報錯

center (len,str)

關鍵詞:左右兩側補占位符

使用指定字符在原始字符串兩側補充到長度為指定值,左側補充數量≥右側補充數量

len:補充字符后的字符串長度

str:補充的字符,如果使用多個字符組成的字符串將報錯

結果是一個字符串

str1 = "fandx"
str1.center(9,"6")      結果:"66fandx66"
str1.center(10,"6")      結果:"666fandx66"
str1.center(4,"6")       結果:"fandx"
str1.center(9,"66")     結果:報錯

zfill(len)

關鍵詞:左側補0

使用0在原始字符串左側補充到長度為指定值,小數點占1位

len:補充字符后的字符串長度

 

結果是一個字符串

str1 = "3.14"
str1.zfill(6)            結果:"003.14"
str2 = "314"
str2.zfill(6)            結果:"000314"
str3 = "3.14"
str3.zfill(3)            結果:"3.14"

 

拆分操作

 

 

 

方法名

功能

參數

返回值

范例

partition(str)

關鍵詞:左側查詢3段拆分

從字符串左側查找到參數后,將參數左側、參數、參數右側的三個字符串組成元組並返回

str:比對字符串

包含三個字符串的元組對象

str1 = "fandx"
str1.partition("a")     結果:("f", "a", "ndx")
str1.partition("o")     結果:("fandx", "", "")

rpartition(str)

關鍵詞:右側查詢3段拆分

從字符串右側查找到參數后,將參數左側、參數、參數右側的三個字符串組成元組並返回

str:比對字符串

包含三個字符串的元組對象

str1 = "hello python"
str1.rpartition("t")    結果: ("hello py", "t", "hon")
str1.rpartition("a")    結果: ("", "", "hello python")

 

split(str)

關鍵詞:多段拆分

使用參數作為分割線將原始字符串拆分成若干個字符串並組織成列表返回

str:比對字符串

包含多個字符串的列表對象

str1 = "hello python"
str1.split("o")         結果:["hell", " pyth", "n"]
str1.split("oo")       結果:["hello python"]

splitlines ()

關鍵詞:

使用換行符作為分割線將原始字符串拆分成若干個字符串並組織成列表返回

包含多個字符串的列表對象

str1 = "hello\nitcast\npython"
str1.splitlines()     結果:["hello", "fandx", "python"]
str2 = "hello fandx"
str2.splitlines()     結果:["hello fandx"]

連接操作

方法名

功能

參數

返回值

范例

join(str)

關鍵詞:占位連接

將原始字符串填充到參數的每個字符之間組成新的字符串返回

str:待填充的字符串

結果是一個字符串

"6".join("fandx")          結果:"f6a6n6d6x"
"66".join("itcast")         結果:"f66a66n66d66x"

str1 + str2

關鍵詞:字符串連接

將兩個字符串按照順序拼接成一個新的字符串返回

結果是一個字符串

"fan"+"dx"                結果:"fandx"
"hello "+"python"           結果:"hello python"

查詢操作

方法名

功能

參數

返回值

范例

find(str,begin,end)

關鍵詞:左側查找

左側查找字符串從指定開始位置到指定結束位置間第一次出現的索引位置

str:要查找的字符串

begin:開始索引,整數,該值要小於end,否則結果為-1

end:結束索引,整數,改制要小於begin,否則結果為-1

結果是一個int整數,如沒有查找到返回-1

str1 = "fandx"
str1.find("f")       結果:1

str1.find("d",3,6)   結果:3

str1.find("d",6,3)   結果:-1
str1.find("nd")    結果:2
str1.find("o")       結果:-1

rfind(str,begin,end)

關鍵詞:右側查找

右側查找字符串從指定開始位置到指定結束位置間第一次出現的索引位置

str:要查找的字符串

begin:開始索引,整數,該值要小於end,否則結果為-1

end:結束索引,整數,改制要小於begin,否則結果為-1

結果是一個int整數,如沒有查找到返回-1

str1 = "fandxf"
str1.rfind("f")       結果:5

str1.rfind("f",0,4)   結果:1

str1.rfind("t",4,0)   結果:-1

str1.rfind("cast")    結果:2
str1.rfind("m")       結果:-1

rindex(str,begin,end)

關鍵詞:左側查找

左側查找字符串從指定開始位置到指定結束位置間第一次出現的索引位置

str:要查找的字符串

begin:開始索引,整數,該值要小於end,否則結果報錯

end:結束索引,整數,改制要小於begin,否則結果報錯

結果是一個int整數,如沒有查找到報錯

str1 = "fandxf"
str1.index("f")       結果:1

str1.index("f",3,6)   結果:5

str1.index("f",6,3)   結果:報錯
str1.index("ndx")    結果:2
str1.index("m")       結果:報錯

rindex(str,begin,end)

關鍵詞:右側查找

右側查找字符串從指定開始位置到指定結束位置間第一次出現的索引位置

str:要查找的字符串

begin:開始索引,整數,該值要小於end,否則結果報錯

end:結束索引,整數,改制要小於begin,否則結果報錯

結果是一個int整數,如沒有查找到報錯

str1 = "fandxf"
str1.rindex("f")       結果:5

str1.rindex("f",0,4)   結果:1

str1.rindex("a",4,0)   結果:報錯
str1.rindex("nd")    結果:2
str1.rindex("m")       結果:報錯

count(str)

關鍵詞:字符串數量

查詢指定字符串在原始字符串中出現的次數

str:被查詢的字符串

結果是一個int整數

info = "fandxf"
info.count("f")        結果:2

info.count("an")       結果:1

替換操作

方法名

功能

參數

返回值

范例

replace(old_str,new_str,num)

關鍵詞:替換

使用新字符串替換原始字符串中的指定字符串信息

old_str:被替換的字符串

new_str:新字符串

num:替換數量

結果是一個字符串

str1 = "fandxf"
str1.replace("f","F")     結果:"FandxF"
str1.replace("f","F",1)   結果:"Fandxf"

expandtabs()

關鍵詞:\t換空格

使用空格替換原始字符串中的制表位\t 

結果是一個字符串

str1 = "66"
str2 = "fan\tdx"
str1+str2               "66fan  dx"  (空白是一個\t)
str1+str2.expandtabs()  "66fan    dx"(空白是4個空格)

其他操作

方法名

功能

參數

返回值

范例

maketrans(str1,str2)

關鍵詞:生成字典

使用兩個等長的字符串中的每個對應位置的字符生成一個字典對象

str1:用於生成字典中key的字符對應的字符串,長度必須與str2相同

str2:用於生成字典中value的字符對應的字符串,長度必須與str1相同

包含字符串對應位置字符組成的字典對象

str.maketrans("123","abc")    結果: {49: 97, 50: 98, 51: 99}

translate (dict)

關鍵詞:使用字典關系轉換

使用字典對字符串信息進行轉換

dict:包含有轉換關系的字典對象

結果是一個字符串

dict1 = {49: 97, 50: 98, 51: 99}
"123456".translate(dict1)     結果:"abc456"

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM