python知識撿拾 字串操作

2021-09-29 16:48:08 字數 4223 閱讀 1393

1.字串的格式化,格式化語法:

"% s" str1

"%s %s" %(str1,str2)

同樣可以使用字典格式化多個值,如

print "%(version)s:%(num).1f" %

結果為:version:2.0

2.字串的轉義符:

python提供了函式 strip()、lstrip()、rstrip() 去掉字串中的轉義符

#-*-encoding:utf-8-*-

#strip()去掉轉義符

word =

"\thello world\n"

print

"直接輸出:"

,word #直接輸出有製表符和換行符

print

"strip()後輸出:"

,word.strip(

)#輸出沒有製表符和換行符

print

"lstrip()後輸出:"

,word.lstrip(

)#去除了前面的製表符

print

"rstrip()後輸出:"

,word.rstrip(

)#去除了後面的換行符

3.字串的合併:

一般使用"+"來連線,同時python提供了函式join()連線字串

join()配合列表實現多個字串的連線

#使用join()連線字串

strs =

["hello"

,"world"

,"hello "

,"china "

]result =

"".join(strs)

print result #helloworldhello china

print

type

(result)

#

4.字串的擷取:

由於python內建了序列,所以可以使用索引和切片來獲取子串

也可以使用split()來獲取

#-*-encoding:utf-8-*-

#使用split()獲取子串

sentence =

"bob said: 1, 2, 3, 4"

print

"使用空格取子串:"

,sentence.split(

)print

"使用逗號取子串:"

,sentence.split(

",")

print

"使用兩個逗號取子串:"

,sentence.split(

",",2)

#使用空格取子串: ['bob', 'said:', '1,', '2,', '3,', '4']

#使用逗號取子串: ['bob said: 1', ' 2', ' 3', ' 4']

#使用兩個逗號取子串: ['bob said: 1', ' 2', ' 3, 4']

字串連線後,python將分配新的空間給連線後的字串,源字串保持不變:
str1 =

"a"print

id(str1)

#32722656

print

id(str1+

"b")

#39449664

5.字串的比較

介紹兩個方法startswith()和endswith()

word =

"hello world"

print

"hello"

== word[0:

5]print word.startswith(

"hello"

)print word.endswith(

"ld",6

)#從word的結尾到word[6]之間搜尋子串"ld",結果為true

print word.endswith(

"ld",6

,10)#從word[6:10]中搜尋不到子串"ld"輸出false

print word.endswith(

"ld",6

,len

(word)

)#從word[6:len(word]中搜尋子串"ld"輸出true

6.字串的反轉

**例項:

#迴圈輸出反轉的字串

defreverse

(s):

out =

"" li =

list

(s)for i in

range

(len

(li),0

,-1)

: out +=

"".join(li[i-1]

)#從列表中的最後乙個元素開始處理,依次連線到變數out中

return out

print reverse(

"hello"

)print

"方法二:"

defreverse2

(s):

li =

list

(s) li.reverse(

) s =

"".join(li)

return s

print reverse2(

"world"

)#方法三

print

"方法三:"

defreverse3

(s):

return s[::

-1]print reverse3(

"helloworld"

)#olleh

#方法二:

#dlrow

#方法三:

#dlrowolleh

7.字串的查詢和替換

查詢字串

find(substring[,start[,end]])從字串開始查詢substring,找到返回第一次在源字串中的索引,否則返回-1

rfind(substring[,start[,end]])從字串末尾查詢substring,找到返回在源字串中的索引,否則返回-1

示例:

sentence =

print sentence.find(

"a")

#8print sentence.rfind(

"a")

#10

replace(old,new [,max])

old表示將被替換的字串

new表示替換old的字串

引數max表示使用new 替換old的次數

引數返回乙個新的字串,如果子串old不在源字串中,則函式返回源字串的值。

8.字串與日期的轉換

時間轉為字串

strftime()

字串到時間的轉換

strptime(),從字串到時間的轉換需要進行兩次轉換,步驟如下:

①呼叫函式strptime()把字串轉為乙個元組,進行第一次轉換

②把表示時間的元組賦值給表示年、月、日的3個變數

③把表示年月日的3個變數傳遞給函式datetime(),進行第2次轉換

示例如下:

#-*-encoding:utf-8-*-

import time,datetime

#時間到字串的轉換

print time.strftime(

"%y-%m-%d %x"

,time.localtime())

#2019-11-16 21:24:31

#字串到時間的轉換

t = time.strptime(

"2019-11-16"

,"%y-%m-%d"

)y,m,d = t[0:

3]print datetime.datetime(y,m,d)

#2019-11-16 00:00:00

python拾遺 1 字串的屬性操作

s spam p am dir s 檢視屬性 s.capitalize 把字串的第乙個字母大寫,其他的小寫 格式化輸出。結果是 spam s.center 6 把字串按照長度6中心對齊輸出,如果s長度大於6,按照原來輸出。結果是 spam s.count a 計算s中字元 a 的個數。結果是 1 s...

10)字串知識

字元 0 ascii值是0 但是0的ascii值是48,所以 strlen遇到 0 就停止 但是 sizeof是測得陣列的長度,包含 0 和0 滑油輸出時 s 也是,遇到 0 就停止輸出了 strcpy 是會把字串的那個 0複製過去的 比如 main 列印出 x y z 1 2 3 4 9 可以看出...

python3 字串操作

auther aaron fan name my tname is age is print name.capitalize 這段話的首字母大寫 print name.count a 統計這段字串中一共有多少個a print name.casefold print name.center 50,一共...