第3.1章.字符串常用方法簡介

1.字符串isdigit使用方法

str.isdigit()

如果字符串的所有字符都是十進制字符且該字符串至少有一個字符,則返回True,否則返回False。數(shù)字包括十進制字符和需要特殊處理的數(shù)字,如兼容性上標數(shù)字。這包括了不能用來組成10進制的數(shù)字,如Kharosthi數(shù)。嚴格地講,數(shù)字是指屬性值為Numeric_Tyoe=Digit或Numeric_Tyoe=Decimal的字符。

示例:

字符串為十進制字符

'0123'.isdigit() 
 或
a = '88'
print(a.isdigit())

字符串非十進制字符

'asd'.isdigit() 
 或
a = '8.8'
print(a.isdigit())

True效果如下:

'0123'.isdigit()  ## 0開頭的數(shù)字,會True
True
a = '88'
print(a.isdigit())
True

False效果如下:

'asd'.isdigit() 
False
a = '8.8'  ### 浮點型非全數(shù)字,也會返回False
print(a.isdigit())
False
''.isdigit() ### 浮點為空,也會返回False
False

2.字符串isalpha使用方法

str.isalpha()

如果字符串中的所有字符都是字母,并且至少有一個字符,返回True,否則返回False。字符字符是指那些在Unicode字符數(shù)據(jù)庫中定義為“Letter”的字符,即那些具有“Lm”,“Lt”,“Lu”,“Ll”或“Lo”之一的通用類別屬性的字符。注意,這與Unicode標準中定義的“字母”屬性不同。

示例:

字符串為字母

'Holle'.isalpha() 

字符串非全字母

'a1一sd'.isalpha() 
 或
a = 'Holle Worid!'
print(a.isalpha())

True效果如下:

'Holle'.isalpha() 
True

False效果如下:

'a1一sd'.isalpha()
False
a = 'Holle Worid!' ## 字母中包含“空格”,標識符“!”“...”都是會報False
print(a.isalpha())
False
''.isalpha()  # 字符串為空返回False
False

3.字符串islower使用方法

str.islower()

如果字符串中至少有一個區(qū)分大小寫的字符[4]且此類字符均為小寫則返回True,否則返回False

示例:

字符串為區(qū)分小寫字母

'holle'.islower()
a = 'holle worid!123都是'
print(a.islower())

字符串為不區(qū)分大小寫字母

'Holle'.islower() 

True效果如下:

'holle'.islower()
True
a = 'holle worid!123都是' ## 包含數(shù)字漢字符號只要無大寫字母都返回Tuer
print(a.islower())
True

False效果如下:

'Holle'.islower()  ## 字符串包含任何一個大寫字母都返回False
False
''.islower()  # 字符串為空返回False
False

4.字符串isupper使用方法

str.isupper()

如果字符串中至少有一個區(qū)分大小寫的字符[4]且此類字符均為大寫則返回True,否則返回False

示例:

字符串為區(qū)分大寫字母

'AAAA'.isupper()
a = 'AAAA AAAAA!123都是'
print(a.isupper())

字符串為不區(qū)分大小寫字母

'Holle'.isupper() 
'holle'.isupper() 

True效果如下:

'AAAA'.isupper()
True
a = 'AAAA AAAAA!123都是' ## 包含數(shù)字漢字符號只要無小寫字母都返回Tuer
print(a.isupper())
True

False效果如下:

'Holle'.isupper() 
False
'holle'.isupper()
False
''.isupper()  # 字符串為空返回False
False

5.字符串isspace使用方法

str.isspace()

如果字符串中只有空白字符且至少有一個字符則返回True,否則返回False
空白字符是指在Unicede字符數(shù)據(jù)庫(參見unicodedata)中主要類別為‘Zs’(“S我怕讓投入,space”)或所屬雙向類為‘WS’‘B’或‘S’的字符

示例:

字符串只有空白字符

'  '.isspace()

字符串包含空白字符

'Holle worid'.isspace() 
'holle'.isspace() 

True效果如下:

'  '.isspace() # 字符串為1個或多個空白返回True
True

False效果如下:

'Holle worid'.isspace()  # 字符串包含空白返回False
False
'holle'.isspace()
False
''.isspace() # 字符串為空返回False
False

6.字符串lower使用方法

str.lower()

返回原字符串的副本,其中所有區(qū)分大小寫的字符[4]均轉(zhuǎn)換為小寫

示例:

'Holle WorLd'.lower()
'HOLLE123!轉(zhuǎn)化'.lower()

效果如下:

'Holle WorLd'.lower()
'holle world'
'HOLLE123!轉(zhuǎn)化'.lower()   ## 包含數(shù)字,符號,漢字時只轉(zhuǎn)化字符為小寫
'holle123!轉(zhuǎn)化'

7.字符串upper使用方法

str.upper()

返回原字符串的副本,其中所有區(qū)分大小寫的字符[4]均轉(zhuǎn)換為大寫。請注意如果s 包含不區(qū)分大小寫的字符或者如果字符的Unicode類別不是“Lu”(Letter,uppercase)而是“Lt”(Letter,tilecase)則s.upper().isupper()有可能為False

示例:

'Holle WorLd'.upper()  
'holle123!轉(zhuǎn)化'.upper()

效果如下:

'Holle WorLd'.upper() 
'HOLLE WORLD'
'holle123!轉(zhuǎn)化'.upper() ## 包含數(shù)字,符號,漢字時只轉(zhuǎn)化字符為大寫
'HOLLE123!轉(zhuǎn)化'

8.字符串strip使用方法

str.strip([chars])

返回原字符串的副本,移除其中的前導和末尾字符。chars參數(shù)為指定要移除字符的字符串。如果省略或為None 則chars參數(shù)默認移除空白符。實際上chars參數(shù)并非指定耽擱前綴或后綴;而是會移除參數(shù)值的所有組合:

效果如下:

str = '  ====python====='
str.strip('')  # 去除左右側(cè)空格,右側(cè)無空格,忽略
'  ====python===='
str.strip('=')  # 開頭有空格,所以只去除右側(cè)=號
'  ====python'
str.strip(' =')  # 去除左右前后綴的空格和=號
'python'
str.strip('p n=')  # 去除左右前后綴的空格,=,p和n(chars不分先后順序)
'ytho'
str.strip('n')  # 嘗試直接去除非前后綴的N,無效,亦不報錯
'  ====python===='

9.字符串replace使用方法

str.replace(old,new[,count])

返回原字符串的副本,其中出現(xiàn)的所有子字符串old都將被替換為new。如果給出了可選參數(shù)count,則只替換前count次出現(xiàn)。

效果如下:

下面的變量f是字符串形式的電話

f1 = '010-888-888-888'  

請編寫代碼使用字符串方法去掉f中的'-'

f1 = '010-888-888-888'
print(f.replace('-',''))  ##將字符串中所有'-'替換為''無
010888888888
print(f.replace('-','~',2))  ##將字符串前2個'-'替換為'~'
010~888~888-888

10.字符串split使用方法

str.split(sep=None,maxsplit=- 1)

返回一個由字符串內(nèi)單詞組成的列表,使用sep作為分割字符串。如果給出一個maxsplit,則最多進行maxsplit次拆分(因此,列表最多會有maxsplit+1個元素)。如果maxsplit未指定或為-1,則不限制拆分次數(shù)(進行所有可能的拆分)

如果給出了sep,則連續(xù)的分隔符不會被組合在一起而是被視為分隔空字符串(例如'1,,2'.split(',') 將返回['1','','2'] )。sep參數(shù)可能由多個字符串組成(例如'1<>2<>3'.split('<>')將返回['1','2','3'])。使用指定的分隔符拆分空字符將返回['']

效果如下:

'1~2~3~4~5~6'.split('~')   ## 根據(jù)符號‘~’進行分割字符串,本示例:分割全部sep分隔符
['1', '2', '3', '4', '5', '6']
'1.2.3.4.5.6'.split('.',maxsplit=1)  ## 根據(jù)符號‘.’進行分割字符串,本示例:只分割第一個sep分隔符
['1', '2.3.4.5.6']
'1.2...3.4.5.6'.split('.')  ## 根據(jù)符號‘.’進行分割字符串,連續(xù)的分隔符被視為單個空字符串
['1', '2', '', '', '3', '4', '5', '6']

如果sep未指定或者為None,則會應用另一種拆分算法:連續(xù)的空格會被視為單個分隔符,其結(jié)果將不包含開頭或結(jié)尾的空字符串,如果字符串包含前綴或后綴空格的話。因此,使用None拆分空字符串或僅包含空格的字符串將返回[]。

效果如下:

'1 2 3 4 5'.split()   ## 未指定sep將連續(xù)空格視為單個分隔符,本示例:分割全部連續(xù)空格
['1', '2', '3', '4', '5']
'1 2 3 4 5'.split(maxsplit=1)   ## 未指定sep將連續(xù)空格視為單個分隔符,本示例:只分割第一個分隔符
['1', '2 3 4 5']
'   1   2  3 4 5  '.split()  ## 未指定sep將連續(xù)空格視為單個分隔符,且移除前后綴的空格
['1', '2', '3', '4', '5']
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容