強(qiáng)烈推薦:Python字符串(string)方法整理(一)

作者:駿馬金龍
原文地址:
https://www.cnblogs.com/f-ck-need-u/p/9127699.html
python中字符串對(duì)象提供了很多方法來(lái)操作字符串,功能相當(dāng)豐富。
print(dir(str))[..........'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
這些方法的使用說(shuō)明見(jiàn)官方文檔:string methods,本文對(duì)它們進(jìn)行詳細(xì)解釋,各位以后可將本文當(dāng)作手冊(cè)。
這里沒(méi)有模式匹配(正則)相關(guān)的功能。python中要使用模式匹配相關(guān)的方法操作字符串,需要import re導(dǎo)入re模塊。關(guān)于正則模式匹配,參見(jiàn):re Module Contents。
注意,python中字符串是不可變對(duì)象,所以所有修改和生成字符串的操作的實(shí)現(xiàn)方法都是另一個(gè)內(nèi)存片段中新生成一個(gè)字符串對(duì)象。例如,'abc'.upper()將會(huì)在劃分另一個(gè)內(nèi)存片段,并將返回的ABC保存在此內(nèi)存中。
下文出現(xiàn)的"S"表示待操作的字符串。本文沒(méi)有對(duì)casefold,encode,format,format_map進(jìn)行介紹,前兩者和unicode有關(guān),后兩者內(nèi)容有點(diǎn)太多。
1.1 lower、upper
S.lower()S.upper()
返回S字符串的小寫(xiě)、大寫(xiě)格式。(注意,這是新生成的字符串,在另一片內(nèi)存片段中,后文將不再解釋這種行為)
例如:
>> print('ab XY'.lower())ab xy>> print('ab XY'.upper())AB XY
1.2 title、capitalize
S.title()S.capitalize()
前者返回S字符串中所有單詞首字母大寫(xiě)且其他字母小寫(xiě)的格式,后者返回首字母大寫(xiě)、其他字母全部小寫(xiě)的新字符串。
例如:
>> print('ab XY'.title())Ab Xy>> print('abc DE'.capitalize())Abc de
1.3 swapcase
S.swapcase()swapcase()對(duì)S中的所有字符串做大小寫(xiě)轉(zhuǎn)換(大寫(xiě)-->小寫(xiě),小寫(xiě)-->大寫(xiě))。
>> print('abc XYZ'.swapcase())ABC xyz
2.1 isalpha,isdecimal,isdigit,isnumeric,isalnum
S.isdecimal()S.isdigit()S.isnumeric()S.isalpha()S.isalnum()
測(cè)試字符串S是否是數(shù)字、字母、字母或數(shù)字。對(duì)于非Unicode字符串,前3個(gè)方法是等價(jià)的。
例如:
print('34'.isdigit())Trueprint('abc'.isalpha())Trueprint('a34'.isalnum())True
2.2 islower,isupper,istitle
S.islower()S.isupper()S.istitle()
判斷是否小寫(xiě)、大寫(xiě)、首字母大寫(xiě)。要求S中至少要包含一個(gè)字符串字符,否則直接返回False。例如不能是純數(shù)字。
注意,istitle()判斷時(shí)會(huì)對(duì)每個(gè)單詞的首字母邊界判斷。例如,word1 Word2、word1_Word2、word1()Word2中都包含兩個(gè)單詞,它們的首字母都是"w"和"W"。因此,如果用istitle()去判斷它們,將返回False,因?yàn)閣是小寫(xiě)。
例如:
print('a34'.islower())Trueprint('AB'.isupper())Trueprint('Aa'.isupper())Falseprint('Aa Bc'.istitle())Trueprint('Aa_Bc'.istitle())Trueprint('Aa bc'.istitle())Falseprint('Aa_bc'.istitle())False# 下面的返回False,因?yàn)榉鞘鬃帜窩不是小寫(xiě)print('Aa BC'.istitle())False
2.3 isspace,isprintable,isidentifier
S.isspace()S.isprintable()S.isidentifier()
分別判斷字符串是否是空白(空格、制表符、換行符等)字符、是否是可打印字符(例如制表符、換行符就不是可打印字符,但空格是)、是否滿足標(biāo)識(shí)符定義規(guī)則。
例如:
1.判斷是否為空白。沒(méi)有任何字符是不算是空白。
print(' '.isspace())Trueprint(' \t'.isspace())Trueprint('\n'.isspace())Trueprint(''.isspace())Falseprint('Aa BC'.isspace())False
2.判斷是否是可打印字符
print('\n'.isprintable())Falseprint('\t'.isprintable())Falseprint('acd'.isprintable())Trueprint(' '.isprintable())Trueprint(''.isprintable())True
3.判斷是否滿足標(biāo)識(shí)符定義規(guī)則
標(biāo)識(shí)符定義規(guī)則為:只能是字母或下劃線開(kāi)頭、不能包含除數(shù)字、字母和下劃線以外的任意字符。
print('abc'.isidentifier())Trueprint('2abc'.isidentifier())Falseprint('abc2'.isidentifier())Trueprint('_abc2'.isidentifier())Trueprint('_abc_2'.isidentifier())Trueprint('_Abc_2'.isidentifier())Trueprint('Abc_2'.isidentifier())True
未完待續(xù)。。。。。。
覺(jué)得不錯(cuò),點(diǎn)個(gè)在看唄!
