1. 程式人生 > >python中字串的定義和操作

python中字串的定義和操作

1.字串的定義

字串其實就是一個“有序”的字元序列
字元 -> 字串中最小的單元 -> 字串的元素
字串是不可變的

   4種定義方式:(1)a = "hello" (2) a ='hello' (3) a = """hello""" (4) a = str()

2.字串的下標索引和切片

(1)下標索引    
下標索引的順序(0,1,2,3,...)-> 從左到右
下標索引的順序(-1,-2,-3,-4,...)-> 從右到左
(2)切片
切片的語法:[起始:結束:步長]
選取的區間從"起始"位開始,到"結束"位的前一位結束(不包含結束位本身),步長表示選取間隔
預設步長是為1的
字串快速逆置 ——>  [::-1] --> 表示從後向前,按步長為1進行取值
字串是不會變的 不會改變其本身,切片處理的時候可以認為在操控的是一個副本

3.字串的常見操作

a = "abcdeffFFFF" # 定義字串
(1)查詢字串(find、index、rfind、rindex)
ret = a.find("a")  # 找到返回開始的索引值 0
ret = a.find("q")  # 找不到返回-1
ret = a.index("a") # 找到返回開始的索引值 0
ret = a.index("q") # 找不到會報一個異常
# 類似於 find()函式,不過是從右邊開始查詢.
ret = a.rfind("d") # 返回3
# 類似於 index(),不過是從右邊開始.
ret = a.rindex("dd") # 找不到,報異常

(2)查詢字串出現的次數(count)
ret = a.count("f") # 返回2
ret = a.count("g") # 返回0
(3)替換字串(replace)
# 將字串中的"f"替換為"g",替換次數不超過1
ret = a.replace("f", "g", 1) # 返回abcdegfFFFF
(4)分割字串(split,partition, rpartition, spilitlines)
# 以"b"為分割符進行分割
ret = a.split("b") # 返回結果 ['a', 'cdeffFFFF']
# 把字串以"cd"分割成三部分
ret= a.partition("cd") # 返回 ('ab', 'cd', 'effFFFF')
# rpartition類似於 partition()函式,從右邊開始
ret = a.rpartition("f") # 返回('abcdef', 'f', 'FFFF')
# splitlines按照行分隔,返回一個包含各行作為元素的列表
 b = "hello\nworld"
 c = b.splitlines()  # 返回['hello', 'world']
(5)轉化字串大小寫(capitalize,title,lower,upper)
# 把字串的第一個字元大寫, 其餘為小寫
ret = a.capitalize() # 返回結果Abcdeffffff
# 把字串的每個單詞首字母大寫, 其餘為小寫
ret = a.title() # 返回結果Abcdeffffff
# 把字串中所有字元轉化為小寫
ret = a.lower() # 返回結果abcdeffffff
# 把字串中所有字元轉化為小寫
ret = a.upper() # 返回結果ABCDEFFFFFF
(6)檢查字串開頭和結尾(startswith,endswith)
# 檢查字串是否是以"a"開頭, 是則返回 True,否則返回 False
ret = a.startswith("a") # 返回 True
# 檢查字串是否以"f"結束,如果是返回True,否則返回 False.
ret = a.endswith("f") # 返回 False
(7)字串對齊方式(ljust,rjust,center)
# 返回一個原字串左對齊,並使用字串"x"填充至長度15的新字串
ret = a.ljust(15, "x") # 返回結果abcdeffFFFFxxxx
# 返回一個原字串右對齊,並使用字串"x"填充至長度15的新字串
ret = a.rjust(15, "x") # 返回結果xxxxabcdeffFFFF
# 返回一個原字串居中,並使用字串"x"填充至長度15的新字串
ret14 = a.center(15, "x") #返回結果xxabcdeffFFFFxx
(7)刪除字串中的空白字元(lstrip,rstrip,strip)
# 刪除字串左邊的空白字元
a = "   hello"
ret = a.lstrip() # 返回"hello"
# 刪除字串末尾的空白字元
a = "hello   "
ret = a.rstrip() # 返回"hello"
# 刪除字串兩端的空白字元
a = "   hello   "
ret = a.strip()  # 返回"hello"
(8)判斷字串中的字元的型別(isalpha,isdigit,isalnum, isspace)
# isalpha如果字串中所有字元都是字母 則返回 True,否則返回False
ret = a.isalpha() # 返回True
# isdigit如果字串中只包含數字則返回 True 否則返回 False
ret = a.isdigit() # 返回False
# isalnum如果字串中所有字元都是字母或數字則返回 True,否則返回 False
ret25 = a.isalnum() # 返回False
# isspace如果字串中只包含空格,則返回 True,否則返回 False.
ret26 = a.isspace() # 返回False
(8)插入字串,構成新字串(join)
my_list = ["a", "b", "c"]
str = "1"
str1 = str.join(my_list) # 返回a1b1c