1. 程式人生 > >python基礎資料型別之字串操作

python基礎資料型別之字串操作

 

1.字串切片
ps:字串是不可變的物件, 所以任何操作對原字元 是不會有任何影響的

s1 = "python最簡潔"
print(s1[0])
print(s1[1])
print(s1[2])
print(s1[3])
print(s1[4])
print(s1[5])
print(s1[6])
print(s1[7])
print(s1[8])
print(s1[9])  # 會報錯
print(s1[-1]) # 倒數第一個
print(s1[-2]) # 倒數第二個

 

語法一: str[start: end]
規則: 從start開始擷取. 擷取到end位置. 但不包括end

s2 = "python最簡潔"
print(s2[0:3]) # 從0獲取到3.不包含3. 結果: pyt
print(s2[6:8]) # 結果 "最簡""
print(s2[6:9]) #最大是8,但實際顧頭不顧尾,想要取到8必須給到9
print(s2[6:10]) # 如果右邊已經過了最大值. 相當於獲取到最後
print(s2[4:]) # 如果想獲取到最後. 那麼最後一個值可以不給.
print(s2[-1:-5]) # 從-1獲到-5  這樣是獲取不到任何結果的.從-1向右數,你怎麼數,也數不到-5
print(s2[-5:-1]) # 取到資料了. 但是顧頭不顧尾. 怎麼取最後一個呢?
print(s2[-5:]) # 什麼都不寫就是最後了 print(s2[:-1]) # 這個是取到倒數第一個 print(s2[:]) # 原樣輸出

 

語法二: str[start:end:step]
start: 起始位置
end: 結束位置
step:步
跳著取, 步長
如果是整數, 則從左往右取. 如果是負數. 則從右往左取. 預設是1

print(s2[1:5:2]) #從第一個開始取,取到第5個,每2個取1個,
print(s2[:5:2])  # 從頭開始到第5個,每2個取1個
print(s2[4::2])  # 從4開始取到最後,每2個取1個
print(s2[-5::2]) # 從-5取到最後,每2個取1個 print(s2[-1:-5]) # -1:-5什麼都沒有,因為從左往右獲取的 print(s2[-1:-5:-1]) # 步長是-1. 這時就從右往左取值 print(s2[-5::-3]) # 從倒數第5個開始. 到最開始. 每3個取1個, 結果oy

 

2.字串大小轉換

str.capitalize()# 將字串的第一個字母變成大寫,其他字母變小寫
str.lower() # 全部轉化成小寫
str.upper() # 全部轉化成大寫

 

3.字串去空格處理

str.strip() # 去掉兩邊空格
str.lstrip() # 去掉左邊空格
str.rstrip() # 去掉右邊空格

 

4.字串替換

str.replace(old,new) # old:原來的str new:需要替換的str

 

5.字串切割

str.split(",") # 根據","分割,返回新的列表

 

格式化輸出幾種方式:

%s,%f,%d
%s 用於字串輸出

print('%s' % 'hello world')
hello world

 

%f 用於小數輸出

print('%f' % 1.234)
1.234000

 

%d. 用於整數輸出

print('%d' % 4)
4

其他方法

print("我叫{}, 今年{}歲 , 我喜歡{}".format("周杰倫", 28, "周潤發")) # 按位置格式化輸出

print("我叫{0}, 今年{2}歲 , 我喜歡{1}".format("周杰倫", "周潤發", 28)) # 指定位置
print("我叫{name}, 今年{age}歲 , 我喜歡{singer}".format(name="周杰倫", singer="周潤發", age=28)) #指定關鍵字

 

6.字串查詢

str.startswith("xx") # 判斷是否以"xx"開頭
str.endswith("xx")) # 判斷是否以"xx"結尾
str.count("xx") # 查詢str中"xx"出現的次數
str.find("xx") # 查詢str中"xx"出現的位置;如果"xx"不在str中,返回-1
str.index("xx") # 求索引位置,找不到會報錯

 

7.字串條件判斷

str.isalnum() #是否字母和數字組成
str.isalpha() #是否是字母組成
str.isdigit() #是否是數字組成

...