python str字串處理

2021-08-22 15:03:32 字數 4157 閱讀 7011

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...