Python學習————字串基本操作
字串相關操作:
strip:
Python strip() 方法用於移除字串頭尾指定的字元(預設為空格或換行符)或字元序列。
注意:該方法只能刪除開頭或是結尾的字元,不能刪除中間部分的字元。
name = '*dimple**'
print(name.strip('*')) # 移除字串指定字元
print(name.lstrip('*')) # 移除字串頭部指定字元
print(name.rstrip('*')) # 移除字串尾部指定字元
# dimple
# dimple**
# *dimple
lower,upper:
lower() 方法用來把大寫字元轉變成小寫字元
upper() 方法用來把小寫字元轉變成大寫字元
name = 'dimple_Y'
print(name.lower()) 小寫
print(name.upper()) 大寫
# dimple_y
# DIMPLE_Y
startswith,endswith:
startswith() 語法:
str.startswith(str, beg=0,end=len(string));
startswith() 方法用於檢查字串是否是以指定子字串開頭,
如果是則返回 True,否則返回 False。
如果引數 beg 和 end 指定值,則在指定範圍內檢查。
endswuth()語法:
str.endswith(suffix[, start[, end]])
endswuth() 方法用於檢查字串是否是以指定字串結尾,
可選引數"start"與"end"為檢索字串的開始與結束位置。
name = 'dimple_Y'
print(name.startswith('dimple'))
print(name.endswith('Y'))
# True
# True
format的三種用法:
res1 = '{} {} {}'.format('dimple', 18, '男') # 不設定指定位置,按預設順序 res2 = '{0} {1} {2}'.format('dimple', 20, '男') # 設定指定位置 # ↑ ↑ ↑ ↑ # └──———————————————— → 0 1 2 res3 = '{name} {age} {sex}'.format(name='dimple', sex='男', age=21) # 設定指定位置 # | | name ↑ ↑ # |______|__________________| age | # |___________________________________________| print(res1) print(res2) print(res3) # dimple 18 男 # 20 dimple 男 # dimple 21 男
split():
split() 方法通過指定分隔符對字串進行切片
name = 'root:0:0::/root:/bin/bash'
print(name.split(':')) # 預設分隔符為空格
# ['root', '0', '0', '', '/root', '/bin/bash']
name = 'C:a/b/c/d.txt' # 只想拿到頂級目錄
print(name.split('/', 1))
# ['C:a', 'b/c/d.txt']
name = 'C:a/b/c/d.txt' # 拿到d.txt
print(name.split('/', 4)[3])
# d.txt
name = 'd|im|ple'
print(name.split('|', 2)) # 切割‘|’ 預設從左到右切分
# ['d', 'im', 'ple']
join():
join() 方法用於將序列中的元素以指定的字元連線生成一個新的字串
tag = '-'
print(tag.join(['dimple', 'say', 'hello', 'world'])) # 可迭代物件必須都是字串
# dimple say hello world
replace():
replace() 方法把字串中的 old(舊字串) 替換成 new(新字串),如果指定第三個引數max,則替換不超過 max 次。
name = 'dimple say : i have a dream,is a beautiful dream'
print(name.replace('dream', 'girlfriend', 1))
# dimple say : i have a girlfriend,is a beautiful dream
isdigit():
isdigit()可以判斷bytes和unicode型別,是最常用的用於於判斷字元是否為"數字"的方法
age = input('>>')
print(age.isdigit()) # 返回True和False
find,rfind,index,rindex,count:
name = 'dimple say : i have a girlfriend'
print(name.find('dimple', 0, 6)) # 顧頭不顧尾,找不到則返回-1不會報錯,找到了則顯示索引
# print(name.index('e',2,4)) #同上,但是找不到會報錯
print(name.count('d', 1, 3)) # 顧頭不顧尾,如果不指定範圍則查詢所有
# 找到則返回0 找不到則返回-1
center,ljust,rjust,zfill:
center() 方法返回一個指定的寬度 width 居中的字串,fillchar 為填充的字元,預設為空格。
center 語法:
str.center(width[, fillchar])
name = 'dimple'
print(name.center(30, '-')) # ------------dimple------------ 原字元居中
print(name.ljust(30, '-')) # dimple------------------------ 原字元左對齊
print(name.rjust(30, '-')) # ------------------------dimple 原字元右對齊
print(name.zfill(50)) # 用0填充 # 00000000000000000000000000000000000000000000dimple 原字元右對齊
expandtabs():
expandtabs() 方法把字串中的 tab 符號 \t 轉為空格,
tab 符號 \t 預設的空格數是 8,在第 0、8、16...等處給出製表符位置,
如果當前位置到開始位置或上一個製表符位置的字元數不足 8 的倍數則以空格代替。
name = 'dimple\thello\tworld'
print(name) # dimple hello world
print(name.expandtabs(1)) # dimple hello world #設定空一個空格
# dimple hello world
# dimple hello world
capitalize,swapcase,title:
capitalize()將字串的第一個字母變成大寫,其他字母變小寫
swapcase() 方法用於對字串的大小寫字母進行轉換。
title()方法返回"標題化"的字串, 就是說所有單詞的首個字母轉化為大寫,其餘字母均為小寫
msg = 'dimple like a grill'
print(msg.capitalize()) # 首字母大寫 Dimple like a grill
print(msg.swapcase()) # 大小寫翻轉 DIMPLE LIKE A GRILL
print(msg.title()) # 每個單詞的首字母大寫 #Dimple Like A Grill