python字串處理函式
# find和index區別,前者找不到返回-1,後者找不到報錯
print
"aaab".find("9") # 輸出:-1
print
"aaab".find("b") # 3
print
"aaab".rfind("a") # 2 加r從右開始找
print
"aaab".rindex("a") # 2
print
"aaab".count("a")
#2、去除元素 strip
# 預設去除 \t\n,l從消除左邊,r是消除右邊
s = " a "
print
s.strip() # 輸出:"a"
print
s.lstrip() # 輸出:"a "
print
s.rstrip() # 輸出:" a"
# 去除字串中含有序列的每個元素
s = "abcdeffedbca"
print
s.strip("ab") # 輸出:"cdeffedbc"
#3、反轉,同樣也可用於列表
s = "abcdefg"
print
s[::-1] # 輸出:gfedcba
#4、判斷、測試字串
#4.1 是空格
print
"「 」是否為空格:", " ".isspace()
print
"「aaa」是否為空格:","aaa".isspace()
print
"".isspace()
#4.2 判斷開始結束
print
"abcd以ab開頭嗎?","abcd".startswith("ab")
print
"abcd以c結尾嗎?","abcd".endswith("c")
print
"abcd從第2個字元開始是以b開頭嗎?","abcd".startswith("b",1)
print
"abcd從第2個字元到第3個字元的字串是以c結尾嗎?","abcd".endswith("c",1,3)
#4.3 是否全是字母或數字,並至少有乙個字元
print
"abcdef123".isalnum() # true
print
"abcdef,,123".isalnum() # f
print
"".isalnum() # f
#4.4 是否全為字母
print
"aaa".isalpha() # 輸出:true
print
"aa1".isalpha() # 輸出:false
print
"aa,".isalpha() # 輸出:false
#4.5 是否全為數字
print
"aaa".isdigit() # 輸出:false
print
"221".isdigit() # 輸出:true
print
"22,".isdigit() # 輸出:false
#4.6 大小寫判斷
print
"aaa".islower() # 輸出:true
print
"aaa".islower() # 輸出:false
print
"aaa".isupper() # 輸出:false
print
"abc".isupper() # 輸出:true
#4.7 是否首字母大寫,其他小寫
print
"abc".istitle() # 輸出:false
print
"abc".istitle() # 輸出:true
print
"123".istitle() # 輸出:false
#5、字元轉換 ,#大小寫轉換
s = "abc"
print
s.lower() #小寫 輸出:abc
print
s#原字元不變 輸出:abc
print
s.upper() #大寫 輸出:abc
print
s.swapcase() #大小寫互換 輸出:abc
print
s.capitalize() #首字母大寫 輸出:abc
#6、比較字串,也可以比較數字
print cmp("aaa","bbb") # 輸出:-1
print cmp("ccc","bbb") # 輸出:1
print cmp(1,2) # 輸出:-1
#7、字串切片
s = "1234567890"
print
s[1] #擷取第二個字元 輸出:2
print
s[-1] #擷取最後乙個字元 輸出:0
print
s[-3] #擷取倒數第三個字元 輸出:8
print
s[::] #可用於轉殖字串 輸出:1234567890
print
s[2:] #從第三個字元開始擷取 輸出:34567890
print
s[:9] #從頭擷取到第9個字元 輸出:123456789
print
s[::2] #從頭擷取,每取一次間隔乙個字元 輸出:13579
print
s[10::-1] #反向擷取,輸出:0987654321
print
s[-1:-11:-1] #與s[10::-1]結果相同 輸出:0987654321
#8、掃瞄字串 輸出1 2 3 4 5 6 7 8 9 0
for char in s:print char,
#9、分割字串
print
"12,34,5,678,9,0".split(",") # 輸出['12', '34', '5', '678', '9', '0']
print
" 12 34 5 ".split()#預設按空格分割 輸出['12', '34', '5']
print
" 12 34 5 ".split(" ")#但是不同的是,預設的方法會先strip 輸出['', '', '', '12', '', '', '', '34', '', '5', '', '']
#10、連線集合中的字串
print
"".join(["a","b","c","d"]) # 輸出abcd
print
",".join(["a","b","c","d"]) # 輸出a,b,c,d
#11、filter 結合lambda
# filter(function,sequence) sequence可為字串、列表、tupple ,
# 範圍經過function過濾後返回true的相應型別結果
print filter((lambda x:x.isalnum()),"a man, a plan, a canal: panama")
#12、map操作
print
map((lambda x,y:x+y),[1,2,3,4],[10,20,30,40])
#13、 reduce 操作 reduce(function,sequence,startnum)startnum預設為0
print reduce((lambda x,y:x+y),[2,3,4,5,6,7,8,9,10],1)
#14、補齊
print
"\""+"abcde".ljust(10)+"\""
#"abcde " 右邊補
print
"\""+"abcde".rjust(10)+"\""
#" abcde"
print
"\""+"abcde".center(10)+"\""
#中間對齊 輸出:" abcde "
print
"\""+"abcde".center(10,"-")+"\""
#用-補齊 輸出:"--abcde---"
Python str字串常用操作
str轉換字串 s str 31 s 31 replace替換 s a 5 s aaaaa s.replace a b bbbbb s aaaaa s s.replace a b 5 s bbbbb capitalize第乙個字元變為大寫 str yang str.capitalize yang u...
Python str字串和unicode字串
這就需要給出符號 二進位制之間的對映關係,而且必須是一一對映 即給定乙個符號,機器有而且有唯一的二進位制對應。根據字元得到二進位制表示是編碼過程 encode 根據二進位制表示得到字元是解碼過程 decode 剛開始的時候,給出了ascii標準,用乙個8bits位元組來表示字元。而且這個位元組實際上...
人生苦短 我用Python str 字串
1 字串 str 2 str 1 hello,selenium,888,999 3 4 切片 截斷5 更換大小寫 upper lower 英文本元 6print str 1.upper 7print str 1.lower 89 split 分隔符,次數 對字串進行切割 返回結果是乙個列表 10pr...