1. 程式人生 > 實用技巧 >Python學習————字串基本操作

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