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,一共...