python_字串的操作,python_字串操作
一:字串的方法與操作
*注意:首字母為l的為從左邊操作,為r的方法為從右邊操作
1.__contains__()判斷是否包含
判斷指定字元或字串是否包含在一個字串內,傳回值為true或者false
str1="asdfgh"print(str1.__contains__('a'))print(str1.__contains__("df"))print(str1.__contains__('r'))View Code
運行結果:
True
True
False
作用和in相似
str1="asdf"print('s' in str1)
運行結果:
True
2.__eq__()相等
判斷兩個字串是否相等,傳回值為True或者False
str1="asdf"print(str1.__eq__("asdf"))print(str1.__eq__("addfd"))
運行結果:
True
False
3.字串相加可以用%s+
str1="asd"str2="fgh"str3=str1+str2str4="%s%s"%(str1,str2)print(str3)print(str4)
View Code
運行結果:
"asdfgh"
"asdfgh"
4.format字串拼接
str1="as{0}dsz{1}"result=str1.format("hu","ui")print(result)str2="as{id}dsfdfz{name}"result=str2.format(id="hu",name="ui")#在format裡面的變數不能到外面去使用print(result)
運行結果:
"ashudszui"
"ashudsfdfzui"
5.capitalize()字串首字母大寫
str1="asdfg"print(str1.capitalize())
運行結果:
"Asdfg"
6.casefold()首字母小寫
str1="ASDFG"print(str1.capitalize())
運行結果:
"aSDFG"
7.center()把內容置中 兩個參數
#可以一個參數,也可以兩個參數,後面的參數是填充符,預設為空白格str1="sdfg"print(str1.center(20))print(str1.center(30,'*'))
運行結果
sdfg
*************sdfg*************
8.encode()編碼
更改字串編碼str1="蘭豔茹"print(str1.encode("gbk"))
運行結果:
b'\xc0\xbc\xd1\xde\xc8\xe3'
9.endswith() 判斷一個字串是否是以某個字元結尾
str1="asdfdgdghfh"print(str1.endswith('h'))print(str1.endswith('e'))
運行結果:
True
False
10.expandtabs()把tab轉換成空格\t
*自我認為沒有什麼卵用
str1="sdfdf\t1ws"print(str1)print(str1.expandtabs())
運行結果:
sdfdf1ws
sdfdf 1ws
11.find尋找某個字元在字串裡面的位置,沒有的話顯示-1,可以加上起始位置和結束位置
str1="sdgfhfh"print(str1.find('h'))print(str1.find('a'))
運行結果:
4
-1
12.index 返回位置
返回字元在字串中的位置,沒有找到的話就報錯
str1="sdgfhfh"print(str1.index('h'))print(str1.index('a'))
運行結果:
4
Traceback (most recent call last): File "/usercode/file.py", line 8, in print(str1.index('a'))ValueError: substring not found
13.join()用來拼接,""代表分隔字元,可以定義
str1=['s','o','n','g',]print("".join(str1))print(str1)print("-".join(str1))
運行結果:
song
['s', 'o', 'n', 'g']
s-o-n-g
14.ljust()放到左邊,同center
像center一樣,把字串在一行中進行定位,ljust是從左面開始定位,參數為自左開始的長度
str1="qeretry"print(str1.ljust(10,'+'’))print(str1.ljust(20,'-'))print(str1.ljust(30))print(str1.ljust(30,'*'))
運行結果:
qeretry+++
qeretry-------------
qeretry
qeretry***********************
15.lower()小寫
全部小寫
str1="AsdFGd"print(str1.lower())print(str1)
運行結果:
asdfgd
AsdFGd
16.lstrip()去除左邊空格
str1=" ddfd "print(str1.lstrip())
運行結果:
ddfd
17.maketrans()與translate()方法
這兩個方法需要進行對比聯合起來使用
str1="12345"str2="asdfg"aa="afgjdfhd"makes=aa.maketrans(str2,str1)print(aa.translate(makes))
運行結果:
145j34h3
18.partition(“分割的字元”)分割
str1="woaipython"print(str1.partition("ai"))
運行結果:
('wo', 'ai', 'python')19.replace()替換 name.replace('老字元','新字元')
name.replace('老字元','新字元',‘轉換幾個’)
str1="asdfghjkladadafgasag"print(str1.replace('a','p'))print(str1.replace('a','q',3))
運行結果:
psdfghjklpdpdpfgpspg
qsdfghjklqdqdafgasag
20.rfind()
運用方法同find一樣,區別就是自右向左尋找
21.rjust()
運用方法同上面的ljust一樣,區別就是自右向左尋找
22.rsplit() 指定字元,分割字串
被指定的字元會被刪除
str1="qwetatrassongsdchengxcxu"print(str1.rsplit('s'))
運行結果:
['qwetatra', '', 'ong', 'dchengxcxu']
23.splitlines()根據分行符號進行分割,等同於split('\n')
str1='''"aa""bb""cc"'''print(str1.splitlines())str1='''"aa""bb""cc"'''print(str1.splitlines())
運行結果:
['"aa""bb""cc"']
['"aa"', '"bb"', '"cc"']
24.startswith()以什麼開頭
判斷字串是否是以什麼字元或字串開頭
str1="adgdfgsdf"print(str1.startswith('a'))print(str1.startswith("ad"))print(str1.startswith("ddd"))
運行結果:
True
True
False
25.swapcase()大小寫轉換,大變小,小變大
str1="dsDDfFDSSSSSFFqqq"print(str1.swapcase())
運行結果:
DSddFfdsssssffQQQ
26.title()把字串轉換成標題,即首字母大寫
str1="dkjgdkgj"print(str1.title())
運行結果:
Dkjgdkgj
二:總結
1.常用方法
center(),startswith(),ljust(),rjust(),__eq__(),partition(),replace(),rsplit(),splitlines(),lstrip(),rstrip(),strip(),join(),index(),format()
2.注意養成習慣:無論是元組,列表,還是字典,在元素後面加上逗號eg:str=['1','a',]