天天看點

python Str類方法

#capitalize():字元串首字元大寫
string = 'this is a string.'
new_str = string.capitalize()
print(new_str)
#輸出:This is a string.
 
#center(width, fillchar=None):将字元串放在中間,在指定長度下,首尾以指定字元填充
string = 'this is a string.'
new_str = string.center(30,'*')
print(new_str)
#輸出:******this is a string.*******
 
#count(sub, start=None, end=None):計算字元串中某字元的數量
string = 'this is a string.'
new_str = string.count('i')
print(new_str)
#輸出:3
 
#decode(encoding=None, errors=None):解碼
string = 'this is a string.'
new_str = string.decode()
print(new_str)
 
#encode(self, encoding=None, errors=None):編碼
string = 'this is a string.'
new_str = string.encode()
print(new_str)
 
#endswith(self, suffix, start=None, end=None):判斷是否以某字元結尾
string = 'this is a string.'
new_str = string.endswith('ing.')
print(new_str)
#輸出:True
new_str = string.endswith('xx')
print(new_str)
#輸出:False
 
#expandtabs(self, tabsize=None):傳回制表符。tabsize此選項指定要替換為制表符“\t' 的字元數,預設為8
string_expandtabs = 'this\tis\ta\tstring.'
new_str = string_expandtabs.expandtabs()
print(new_str)
#輸出:this    is      a       string.
 
#find(self, sub, start=None, end=None):在字元串中尋找指定字元的位置
string = 'this is a string.'
new_str = string.find('a')    #找的到的情況
print(new_str)
#輸出:8
new_str = string.find('xx')    #找不到的情況傳回-1
print(new_str)
#輸出:-1
 
#format(*args, **kwargs):類似%s的用法,它通過{}來實作
string1 = 'My name is {0},my job is {1}.'
new_str1 = string1.format('yue','tester')
print(new_str1)
#輸出:My name is yue,my job is tester.
string2 = 'My name is {name},my job is {job}.'
new_str2 = string2.format(name='yue',job='tester')
print(new_str2)
#輸出:My name is yue,my job is tester.
 
#index(self, sub, start=None, end=None):;類似find
string = 'this is a string.'
new_str = string.index('a')    #找的到的情況
print(new_str)
#輸出:8
new_str = string.index('xx')    #找不到的情況,程式報錯
print(new_str)
#輸出:程式運作報錯,ValueError: substring not found
 
#isalnum(self):判斷字元串中是否都是數字和字母,如果是則傳回True,否則傳回False
string = 'My name is yue,my age is 18.'
new_str = string.isalnum()
print(new_str)
#輸出:False
string = 'haha18121314lala'
new_str = string.isalnum()
print(new_str)
#輸出:True
 
#isalpha(self):判斷字元串中是否都是字母,如果是則傳回True,否則傳回False
string = 'abcdefg'
new_str = string.isalpha()
print(new_str)
#輸出:True
string = 'my name is yue'
new_str = string.isalpha()    #字母中間帶空格、特殊字元都不行
print(new_str)
#輸出:False
 
# isdigit(self):判斷字元串中是否都是數字,如果是則傳回True,否則傳回False
string = '1234567890'
new_str = string.isdigit()
print(new_str)
#輸出:True
string = 'haha123lala'
new_str = string.isdigit()    #中間帶空格、特殊字元都不行
print(new_str)
#輸出:False
 
# islower(self):判斷字元串中的字母是否都是小寫,如果是則傳回True,否則傳回False
string = 'my name is yue,my age is 18.'
new_str = string.islower()
print(new_str)
#輸出:True
string = 'My name is Yue,my age is 18.'
new_str = string.islower()
print(new_str)
#輸出:False
 
# isspace(self):判斷字元串中是否都是空格,如果是則傳回True,否則傳回False
string = '      '
new_str = string.isspace()
print(new_str)
#輸出:True
string = 'My name is Yue,my age is 18.'
new_str = string.isspace()
print(new_str)
#輸出:False
 
# istitle(self):檢測字元串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫。
string = 'My Name Is Yue.'
new_str = string.istitle()
print(new_str)
#輸出:True
string = 'My name is Yue,my age is 18.'
new_str = string.istitle()
print(new_str)
#輸出:False
 
# isupper(self):檢測字元串中所有的字母是否都為大寫。
string = 'MY NAME IS YUE.'
new_str = string.isupper()
print(new_str)
#輸出:True
string = 'My name is Yue.'
new_str = string.isupper()
print(new_str)
#輸出:False
 
# join(self, iterable):将序列中的元素以指定的字元連接配接生成一個新的字元串。
string = ("haha","lala","ohoh")
str = "-"
print(str.join(string))
#輸出:haha-lala-ohoh
 
# ljust(self, width, fillchar=None):傳回一個原字元串左對齊,并使用空格填充至指定長度的新字元串。如果指定的長度小于原字元串的長度則傳回原字元串。
string = "My name is yue."
print(string.ljust(18))
#輸出:My name is yue.
 
# lower(self):轉換字元串中所有大寫字元為小寫。
string = "My Name is YUE."
print(string.lower())
# 輸出:my name is yue.
 
# lstrip(self, chars=None):截掉字元串左邊的空格或指定字元。
string = "   My Name is YUE."
print(string.lstrip())
#輸出:My Name is YUE.
string = "My Name is YUE."
print(string.lstrip('My'))
#輸出: Name is YUE.
 
# partition(self, sep):根據指定的分隔符将字元串進行分割。
string = "http://www.mingyuanyun.com"
print(string.partition('://'))
#輸出:('http', '://', 'www.mingyuanyun.com')
 
#replace(self, old, new, count=None):把字元串中的 old(舊字元串) 替換成 new(新字元串),如果指定第三個參數max,則替換不超過 max 次。
string = "My name is yue."
print(string.replace("yue","ying"))
#輸出:My name is ying.
 
# rfind(self, sub, start=None, end=None):傳回字元串最後一次出現的位置,如果沒有比對項則傳回-1。
string = "My name is yue."
print(string.rfind('is'))
#輸出:8
string = "My name is yue."
print(string.rfind('XXX'))
#輸出:-1
 
# rindex(self, sub, start=None, end=None):傳回子字元串 str 在字元串中最後出現的位置,如果沒有比對的字元串會報異常,你可以指定可選參數[beg:end]設定查找的區間。
string = "My name is yue."
print(string.rindex('is'))
#輸出:8
string = "My name is yue."
print(string.rindex('XXX'))
#輸出:ValueError: substring not found
 
# rjust(self, width, fillchar=None):傳回一個原字元串右對齊,并使用空格填充至長度 width 的新字元串。如果指定的長度小于字元串的長度則傳回原字元串。
string = "My name is yue."
print(string.rjust(18))
#輸出:   My name is yue.
 
# rpartition(self, sep):根據指定的分隔符将字元串從右進行分割。
string = "http://www.mingyuanyun.com"
print(string.rpartition('.'))
#輸出:('http://www.mingyuanyun', '.', 'com')
 
# split(self, sep=None, maxsplit=None):通過指定分隔符對字元串進行切片。
string = "haha lala gege"
print(string.split(' '))
#輸出:['haha', 'lala', 'gege']
print(string.split(' ', 1 ))
#輸出: ['haha', 'lala gege']
 
# rsplit(self, sep=None, maxsplit=None):通過指定分隔符對字元串從右進行切片。
string = "haha lala gege"
print(string.rsplit(' '))
#輸出:['haha', 'lala', 'gege']
print(string.rsplit(' ', 1 ))
#輸出: ['haha lala', 'gege']
 
# rstrip(self, chars=None):删除 string 字元串末尾的指定字元(預設為空格).
string = "     My name is yue.      "
print(string.rstrip())
#輸出:     My name is yue.
 
# strip(self, chars=None):移除字元串頭尾指定的字元(預設為空格)。
string = "        My name is yue.      "
print(string.strip())
#輸出:My name is yue.
 
# splitlines(self, keepends=False):按照行('\r', '\r\n', \n')分隔,傳回一個包含各行作為元素的清單,如果參數 keepends 為 False,不包含換行符,如果為 True,則保留換行符。
str1 = 'ab c\n\nde fg\rkl\r\n'
print(str1.splitlines())
# 輸出:['ab c', '', 'de fg', 'kl']
str2 = 'ab c\n\nde fg\rkl\r\n'
print(str2.splitlines(True))
# 輸出:['ab c\n', '\n', 'de fg\r', 'kl\r\n']
 
# startswith(self, prefix, start=None, end=None):檢查字元串是否是以指定子字元串開頭,如果是則傳回 True,否則傳回 False。如果參數 beg 和 end 指定值,則在指定範圍内檢查。
string = "My name is yue.      "
print(string.startswith('My'))
#輸出:True
string = "My name is yue."
print(string.startswith('yue'))
#輸出:False
 
# swapcase(self):對字元串的大小寫字母進行轉換。
string = "My Name Is Yue."
print(string.swapcase())
#輸出:mY nAME iS yUE.
 
# title(self):傳回"标題化"的字元串,就是說所有單詞都是以大寫開始,其餘字母均為小寫(見 istitle())。
string = "my name is yue,my age is 18."
print(string.title())
#輸出:My Name Is Yue,My Age Is 18.
 
# translate(self, table, deletechars=None):根據參數table給出的表(包含 256 個字元)轉換字元串的字元, 要過濾掉的字元放到 del 參數中。
from string import maketrans
str = "aoeiu"
num = "12345"
trantab = maketrans(str, num)
string = "my name is yue"
print(string.translate(trantab))
# 輸出:my n1m3 4s y53
 
# upper(self):将字元串中的小寫字母轉為大寫字母。
string = "my name is yue,my age is 18."
print(string.upper())
#輸出:MY NAME IS YUE,MY AGE IS 18.
 
# zfill(self, width):傳回指定長度的字元串,原字元串右對齊,前面填充0。
string = "my name is yue."
print(string.zfill(18))
#輸出:000my name is yue.           

複制