1. 程式人生 > >str 方法總結整理

str 方法總結整理

*** 格式化 none ans 保留字 utf-8 sel cas 替換

#!/usr/bin/env python
#Python 3 字符串常用方法
__author__ = "lrtao2010"

#capitalize 將字符串的首字符改為大寫
# a = "lrtao"
# v = a.capitalize()
# print(v)
# Lrtao

#casefold 將字符串所有字符改為小寫,功能強大
# a = "LrTao"
# v = a.casefold()
# print(v)
# lrtao

#lower 將字符串所有字符改為小寫
# a = "LrTao"
# v = a.lower()
# print(v)
# lrtao

#upper 將字符全部轉成大寫
# a = "LrTao" # v = a.upper() # print(v) # LRTAO #center(self, width, fillchar=None) 內容居中,width:總長度(當width<len(s)時沒有效果); # fillchar:空白處填充內容,默認無 # a = "lrtao" # v = a.center(20,‘*‘) # print(v) # *******lrtao******** #ljust(self, width: int, fillchar: str = ...)內容左對齊,右側填充,不指定默認空白
# a = "lrtao" # v1 = a.ljust(20,‘*‘) # v2 = a.ljust(20) # print(v1) # print(v2) # lrtao*************** # lrtao #rjust(self, width: int, fillchar: str = ...)內容右對齊,左側填充,不指定默認空白 # a = "lrtao" # v1 = a.rjust(20,‘*‘) # v2 = a.rjust(20) # print(v1) # print(v2) # ***************lrtao # lrtao #
zfill(self, width: int) z指zero,用0將字符填充到指定長度(左側填充) # a = "test" # v = a.zfill(20) # print(v) # 0000000000000000test # a = "test" # v1 = a.rjust(20,‘0‘) # print(v1) # 0000000000000000test #count(self, sub, start=None, end=None) 統計子序列在字符串裏出現的次數,包括start,不包括end # a = "lilelili" # v1 = a.count(‘li‘) # v2 = a.count(‘li‘,1) # v3 = a.count(‘li‘,1,6) # print(v1,v2,v3) # 3 2 1 #encode(encoding=‘utf-8‘,errors=‘strict‘) 以encoding指定的編碼格式對字符串進行編碼 # a = "lilei" # v = a.encode(encoding=‘utf-8‘) # print(v) # b‘lilei‘ # #endswith(self, suffix, start=None, end=None)是否以指定字符串結束,返回值為布爾值 # a = "hello" # v1 = a.endswith(‘o‘) # v2 = a.endswith(‘l‘) # v3 = a.endswith(‘lo‘) # v4 = a.endswith(‘e‘,0,2) # print(v1,v2,v3,v4) # True False True True #startswith(self, prefix: Union[str, Tuple[str, ...]], start: Optional[int] = ...,end: Optional[int] = ...) #是否以指定字符串開始,返回值為布爾值 # a = "hello" # v1 = a.startswith(‘h‘) # v2 = a.startswith(‘e‘) # v3 = a.startswith(‘he‘) # v4 = a.startswith(‘e‘,1,3) # # print(v1,v2,v3,v4) # True False True True #expandtabs 把字符串的tab字符(\t)轉化為空格,如果tab轉換空格數量沒有定義,默認一個tab轉換成8個空格 # a = ‘I\tam\ttom‘ # v = a.expandtabs(4) # print(v) # I am tom # find(self, sub, start=None, end=None) 返回首次找到子序列的位置,如果沒找到,返回 -1 # a = ‘lilei‘ # v1 = a.find(‘l‘) # v2 = a.find(‘l‘,2) # v3 = a.find(‘lei‘,2,4) # print(v1,v2,v3) # 0 2 -1 #index(self, sub, start=None, end=None)返回首次找到子序列的位置,如果沒找到程序會報異常 # a = ‘lilei‘ # v = a.index(‘ll‘) # print(v) # Traceback (most recent call last): # v = a.index(‘ll‘) # ValueError: substring not found #rfind(self, sub: str, __start: Optional[int] = ..., __end: Optional[int] = ...) #返回指定子串的最大索引,如果沒找到則返回-1,可以指定要開始和結束位置。 # a = ‘lilililili‘ # v1 = a.rfind(‘li‘) # v2 = a.rfind(‘li‘,9) # v3 = a.rfind(‘li‘,2,4) # print(v1,v2,v3) # 8 -1 2 #rindex(self, sub: str, __start: Optional[int] = ..., __end: Optional[int] = ...) #返回指定子串的最大索引,如果沒找到則拋異常,可以指定要開始和結束位置。 # a = ‘lilililili‘ # v1 = a.rindex(‘li‘) # v2 = a.rindex(‘li‘,9) # v3 = a.rindex(‘li‘,2,4) # print(v1) # print(v2) # print(v3) # v2 = a.rindex(‘li‘,9) # ValueError: substring not found # # Process finished with exit code 1 #format 字符串格式化 # a = ‘hello ,{name}!hello ,{name2} !‘ # v = a.format(name=‘lilei‘,name2=‘tom‘) # print(v) # hello ,lilei!hello ,tom ! # a = ‘hello,{0}! hello,{1}!‘ # v = a.format(‘lilei‘,‘tom‘) # print(v) # hello,lilei! hello,tom! #format_map(self, mapping) 和format相似,參數為字典形式 # a = ‘hello ,{name}!hello ,{name2} !‘ # v = a.format_map({‘name2‘:‘lilei‘,‘name‘:‘tom‘}) # print(v) # hello ,tom!hello ,lilei ! #isalnum 是否只包含字母或數字,返回值為布爾值 # a = ‘lsL123‘ # b = ‘ls‘ # c = ‘LS‘ # d = ‘123‘ # e = ‘ls@‘ # v1 = a.isalnum() # v2 = b.isalnum() # v3 = c.isalnum() # v4 = d.isalnum() # v5 = e.isalnum() # print(v1,v2,v3,v4,v5) # True True True True False #isalpha 字符串是否全部是字母 # a = ‘lsL123‘ # b = ‘ls‘ # c = ‘LS‘ # d = ‘Ls‘ # e = ‘ls@‘ # v1 = a.isalpha() # v2 = b.isalpha() # v3 = c.isalpha() # v4 = d.isalpha() # v5 = e.isalpha() # print(v1,v2,v3,v4,v5) # False True True True False #isascii Return True if all characters in the string are ASCII, False otherwise. # a = ‘12ls er$%^&*()‘ # b = ‘中‘ # v1 = a.isascii() # v2 = b.isascii() # print(v1,v2) # True False #isdecimal 字符串是否是十進制字符串 # a = ‘1234567890‘ # b = ‘A0‘ # v1 = a.isdecimal() # v2 = b.isdecimal() # print(v1,v2) # True False #isdigit 如果字符串是數字字符串,則返回True,否則返回False。 # isdecimal() 如果字符串是數字字符串,則返回True,否則返回False。 #isnumeric 如果字符串是數字字符串,則返回True,否則返回False # num = "一" # v1 = num.isdigit() # v2 = num.isdecimal() # v3 = num.isnumeric() # print(v1,v2,v3) # False False True # num = "Ⅰ" #羅馬數字1 # v1 = num.isdigit() # v2 = num.isdecimal() # v3 = num.isnumeric() # print(v1,v2,v3) # False False True # num = "1" # v1 = num.isdigit() # v2 = num.isdecimal() # v3 = num.isnumeric() # print(v1,v2,v3) # True True True # isdigit() # True: Unicode數字,byte數字(單字節),全角數字(雙字節),羅馬數字 # False: 漢字數字 # Error: 無 # isdecimal() # True: Unicode數字,全角數字(雙字節) # False: 羅馬數字,漢字數字 # Error: byte數字(單字節) # isnumeric() # True: Unicode數字,全角數字(雙字節),羅馬數字,漢字數字 # False: 無 # Error: byte數字(單字節) #isidentifier 判斷字符串是否包含python的保留字 # v1 = ‘def‘.isidentifier() # v2 = ‘aaa‘.isdecimal() # print(v1,v2) # True False #islower 字符串中不能出現大寫字母,並且至少有一個小寫字母 # a = ‘ls12#3‘ # b = ‘Ls‘ # c = ‘1234s‘ # d = ‘LS‘ # v1 = a.islower() # v2 = b.islower() # v3 = c.islower() # v4 = d.islower() # print(v1,v2,v3,v4) # True False True False #isprintable 判斷字符串中所有的字符串都是可以通過repr表示成字符串, # 或者字符串是空的,都返回True,否則返回False # v = chr(33).isprintable() # v1 = chr(1000000).isprintable() # print(v,v1) # True False #isspace 判斷字符串是否是空格 # a = ‘‘ # b = ‘ ‘ # v1 = a.isspace() # v2 = b.isspace() # print(v1,v2) # False True #title 標題格式(可以理解為單詞首字母大寫,其它字符小寫) # a = ‘this is title‘ # v = a.title() # print(v) # This Is Title #istitle 判斷是否是標題格式(可以理解為首字母是否大寫) # a = "this is title" # b = "This is title" # c = "This Is title" # d = "This Is Title" # v1 = a.istitle() # v2 = b.istitle() # v3 = c.istitle() # v4 = d.istitle() # print(v1,v2,v3,v4) # False False False True #isupper 判斷字母是否全部是大寫 # a = ‘lsL123‘ # b = ‘LSF123‘ # c = ‘LSF‘ # d = ‘LS F‘ # v1 = a.isupper() # v2 = b.isupper() # v3 = c.isupper() # v4 = d.isupper() # print(v1,v2,v3,v4) # False True True True #join(self, iterable: Iterable[str])返回一個用指定分隔符分隔的字, # 或者是將指定字符加入到另一個字符中。 # a = ‘iamtom‘ # v1 = ‘.‘.join(a) # v2 = ‘#‘.join(a) # print(v1) # print(v2) # i.a.m.t.o.m # i#a#m#t#o#m #lstrip 移除左側空白(沒有測試成功) #partition(self, sep: str) 按照指定的字符將字符串分為前中後三部分,從左側開始 # a = "iamtom" # v1 = a.partition("i") # v2 = a.partition(‘am‘) # v3 = a.partition(‘om‘) # v4 = a.partition(‘som‘) # print(v1) # print(v2) # print(v3) # print(v4) # (‘‘, ‘i‘, ‘amtom‘) # (‘i‘, ‘am‘, ‘tom‘) # (‘iamt‘, ‘om‘, ‘‘) # (‘iamtom‘, ‘‘, ‘‘) #rpartition(self, sep: str) 與partition一樣,但是從右邊開始 # a = "iamtom" # v1 = a.rpartition("i") # v2 = a.rpartition(‘am‘) # v3 = a.rpartition(‘tom‘) # v4 = a.rpartition(‘som‘) # print(v1) # print(v2) # print(v3) # print(v4) # (‘‘, ‘i‘, ‘amtom‘) # (‘i‘, ‘am‘, ‘tom‘) # (‘iam‘, ‘tom‘, ‘‘) # (‘‘, ‘‘, ‘iamtom‘) #replace(self, old: str, new: str, count: int = ...) 替換字符,不指定次數默認全部替換 # a = ‘iamtomtomtom‘ # v1 = a.replace(‘m‘,‘i‘) # v2 = a.replace(‘m‘,‘i‘,1) # print(v1) # print(v2) # iaitoitoitoi # iaitomtomtom #split(self, sep: Optional[str] = ..., maxsplit: int = ...) #按指定字符串從左側開始進行切割,可以指定切割次數(不指定全部切割) # a = ‘iamtomtom‘ # v1 = a.split(‘m‘) # v2 = a.split(‘m‘,2) # print(v1) # print(v2) # [‘ia‘, ‘to‘, ‘to‘, ‘‘] # [‘ia‘, ‘to‘, ‘tom‘] #rsplit(self, sep: Optional[str] = ..., maxsplit: int = ...) #按指定字符串從右側開始進行切割,可以指定切割次數(不指定全部切割) # a = ‘iamtomtom‘ # v1 = a.rsplit(‘m‘) # v2 = a.rsplit(‘m‘,2) # print(v1) # print(v2) # [‘ia‘, ‘to‘, ‘to‘, ‘‘] # [‘iamto‘, ‘to‘, ‘‘] #strip(self, chars: Optional[str] = ...) #移除兩側(最外側)指定字符串,默認移除空格,以指定多個字符 # a = ‘ i am tom m‘ # v1 = a.strip() # v2 = a.strip(‘m‘) # v3 = a.strip(‘ap‘) # v4 = a.strip(‘am‘) # print(v1) # print(v2) # print(v3) # print(v4) # i am tom m # i am tom # i am tom m # i am tom #rstrip(self, chars: Optional[str] = ...) #移除右側指定字符 # a = ‘ i am tom m‘ # v1 = a.rstrip() # v2 = a.rstrip(‘m‘) # v3 = a.rstrip(‘ap‘) # v4 = a.rstrip(‘am‘) # print(v1) # print(v2) # print(v3) # print(v4) # i am tom m # i am tom # i am tom m # i am tom #splitlines(self, keepends: bool = ...) #按換行符\n切割,如果沒指定keepends=True,則會將其從結果中移除 # a = "this is test1\n this is test2" # v1 = a.splitlines(keepends=True) # v2 = a.splitlines() # print(v1) # print(v2) # [‘this is test1\n‘, ‘ this is test2‘] # [‘this is test1‘, ‘ this is test2‘] #swapcase 大小寫轉換 # a = ‘This Is Test 01‘ # v = a.swapcase() # print(v) # tHIS iS tEST 01 #translate(self, table: Optional[bytes], delete: bytes = ...) #translate() 方法根據參數table給出的表(包含 256 個字符)轉換字符串的字符, # 要過濾掉的字符放到 deletechars 參數中 # intab = "aeiou" # outtab = "12345" # trantab = str.maketrans(intab, outtab) # 制作翻譯表 # str = "this is string example....wow!!!" # print(str.translate(trantab)) # th3s 3s str3ng 2x1mpl2....w4w!!! # 制作翻譯表 # bytes_tabtrans = bytes.maketrans(b‘abcdefghijklmnopqrstuvwxyz‘, b‘ABCDEFGHIJKLMNOPQRSTUVWXYZ‘) # # # 轉換為大寫,並刪除字母o # print(b‘runoob‘.translate(bytes_tabtrans, b‘o‘)) # b‘RUNB‘

str 方法總結整理