1. 程式人生 > >【python】字串

【python】字串

摘要:這篇博文主要闡述有關文字操作的一些問題,例如拆分字串的開頭結尾匹配、去掉兩邊空格、搜尋和替換、分離和拼接等。

1. 字串的定義

在這裡插入圖片描述
a、b、c三個變數都分別被用三種方式賦值,但是這三種方式所賦值型別都為str字串型別。

# 字串常用的轉義符號如下:
\n:換行
\t:一個tab鍵
\":顯示出來是"
\':顯示出來是'

例如,要求我們列印 guido’s 和 “hello guido’s python”。(注意這裡的’和""要顯示出來)
在這裡插入圖片描述
再例如,要求我們輸出hello python。第一行輸出格式是hello換行python,第二行輸出格式hello tab(即四個空格) python。
在這裡插入圖片描述

2. 字串的特性

#索引
s = 'hello'    //索引:0,1,2,3,4 索引是從0開始的
print(s[0])     //取到的是第一個字元h
print(s[4])     //取到的是第五個字元o
print(s[-1])    //取到的是字串的最後一個字元o

執行效果如下:
在這裡插入圖片描述

#切片
s = 'abcdefg'
#s[start:end:step] 從start開始,到end-1結束,步長為step(預設是1)
print(s[0:3])      //輸出abc
print(s[0:6:2])   //輸出ace (從a開始,到f結束,每次步長為2。“a c e “)

執行結果如下:
在這裡插入圖片描述

print(s[:])       //顯示所有字元
print(s[:3])      //顯示前3個字元
print(s[::-1])    //字串倒序輸出
print(s[1:])      //除了第一個字元之外,其他的全部顯示

print(s*10)       //重複10次

print('hello '+'python')  //連線

在這裡插入圖片描述

#成員操作符
print('he' in s)
print('abc' in s)
print('he' not in s)

在這裡插入圖片描述

3. 開頭和結尾匹配

filename = 'sys.log'
filename.endwith('.log')        //匹配結尾
filename.startwith('sys')       //匹配開頭

在這裡插入圖片描述
在這裡插入圖片描述

4. 去掉不需要的字元

可以在字串的開始、結尾或者中間位置去掉不需要的字元,比如說空格符。

strip()方法可以用來從字串的開始和結尾處去掉字元。
lstrip() 和 rstrip()可以分別從左或從右側開始執行去除字元的操作。
預設情況下這些方法去除的是空格符,但也可以指定其他的字元。

在這裡插入圖片描述

在這裡插入圖片描述

補充:

res = 'hello'
res.center(50,'*')        //res的值以居中格式輸出,總共佔據50格,剩餘用'*'代替
res.rjust()               //居右
res.ljust()               //居左

在這裡插入圖片描述
是不是要比c語言裡面控制格式輸出方便多了~~~

5. 搜尋和替換

在這裡插入圖片描述
這裡rs裡面有python和PYTHON,find()方法幫我們查詢的時候區分了大小寫,匹配到要搜尋的字串後返回結果第一個字元的索引號。
在這裡插入圖片描述
那麼如果一個字串中,要搜尋的字串出現過很多次,如何查詢呢。可以看到這裡出了一個錯誤,lfind()這個方法當然沒有啦,因為find()方法就是從左邊開始搜尋的;如果想從右邊開始搜尋的話,用rfind()方法即可。可以看到,兩種方法返回的索引號是不一樣的,就是因為一個是從左邊開始所有,另一個是從右邊開始搜尋。
在這裡插入圖片描述
replace()方法直接全部替換。
在這裡插入圖片描述
count()方法統計字元在原字串中出現的次數。

6. 分離和拼接

在這裡插入圖片描述

split()方法可以幫助我們處理分隔符,用’.‘將ip值分離出來。
在這裡插入圖片描述
用’-‘也可以將date值分離出來,但如果用’*’,輸出結果為未分離前的date值,因為date值裡面沒有這個字元,所以無法分離。

在這裡插入圖片描述
也可以進行反操作,將分離開的字元拼接起來。