字符串有很多常用的方法。根据使用功能,大概如下:
常用查找方法:
根据一段文本作为测试:
a = “自董卓已来,豪杰并起,跨州连郡者不可胜数。曹操比于袁绍,则名微而众寡。然操遂能克绍,以弱为强者,非惟天时,抑亦人谋也。今操已拥百万之众,挟天子而令诸侯,此诚不可与争锋。孙权据有江东,已历三世,国险而民附,贤能为之用,此可以为援而不可图也。荆州北据汉、沔,利尽南海,东连吴会,西通巴、蜀,此用武之国,而其主不能守,此殆天所以资将军,将军岂有意乎?益州险塞,沃野千里,天府之土,高祖因之以成帝业。刘璋暗弱,张鲁在北,民殷国富而不知存恤,智能之士思得明君。将军既帝室之胄,信义著于四海,总揽英雄,思贤如渴,若跨有荆、益,保其岩阻,西和诸戎,南抚夷越,外结好孙权,内修政理;天下有变,则命一上将将荆州之军以向宛、洛,将军身率益州之众出于秦川,百姓孰敢不箪食壶浆以迎将军者乎?诚如是,则霸业可成,汉室可兴矣。”
方法和使用示例 | 说明 | 结果 |
---|---|---|
len(a) | 字符串长度 | 349 |
a.startswith(“自董卓已来”) | 以指定字符串开头 | True |
a.endswith(“汉室可兴矣。”) | 以指定字符串结尾 | True |
a.find(“而”) | 第一次出现指定字符串的位置 | 31 |
a.rfind(“而”) | 最后一次出现指定字符串的位置 | 210 |
a.count(“而”) | 指定字符串出现了几次 | 3 |
a.isalnum() | 所有字符全是字母或数字 | False |
>>> a="自董卓已来,豪杰并起,跨州连郡者不可胜数。曹操比于袁绍,
则名微而众寡。然操遂能克绍,以弱为强者,非惟天时,抑亦人谋也。今操已拥百万之众,
挟天子而令诸侯,此诚不可与争锋。孙权据有江东,已历三世,国险而民附,贤能为之用,
此可以为援而不可图也。荆州北据汉、沔,利尽南海,东连吴会,西通巴、蜀,此用武之国,
而其主不能守,此殆天所以资将军,将军岂有意乎?益州险塞,沃野千里,天府之土,
高祖因之以成帝业。刘璋暗弱,张鲁在北,民殷国富而不知存恤,智能之士思得明君。
将军既帝室之胄,信义著于四海,总揽英雄,思贤如渴,若跨有荆、益,保其岩阻,
西和诸戎,南抚夷越,外结好孙权,内修政理;天下有变,则命一上将将荆州之军以向宛、洛,
将军身率益州之众出于秦川,百姓孰敢不箪食壶浆以迎将军者乎?诚如是,则霸业可成,
汉室可兴矣。"
>>> len(a)
349
>>> a.startswith("自董卓以来")
False
>>> a.startswith("自董卓已来")
True
>>> a.endswith("汉室可兴矣")
False
>>> a.endswith("汉室可兴矣。")
True
>>> a.find("而")
31
>>> a.rfind("而")
210
>>> a.count("而")
6
去除首尾信息:
通过使用strip()去除字符串首尾指定信息,lstrip()去除字符串左边指定信息。rstrip()去除字符串右边指定信息。
>>> a = "*h*l*o*r*"
>>> a.strip("*")
'h*l*o*r'
>>> a
'*h*l*o*r*'
>>> a.lstrip("*")
'h*l*o*r*'
>>> a
'*h*l*o*r*'
>>> a.rstrip("*")
'*h*l*o*r'
>>> a
'*h*l*o*r*'
大小写转换:
a = “Some of us get dipped in flat, some in satin, some in gloss. But every once in a while you find someone who’s iridescent. And when you do, nothing will ever compare.”
示例 | 说明 | 结果 |
---|---|---|
a.capitalize() | 产生新的字符串,首字母大写 | Some of us get dipped in flat, some in satin, some in gloss. but every once in a while you find someone who’s iridescent. and when you do, nothing will ever compare." |
a.title() | 产生新的字符串,每个单词都首字母大写 | “Some Of Us Get Dipped In Flat, Some In Satin, Some In Gloss. But Every Once In A While You Find Someone Who’S Iridescent. And When You Do, Nothing Will Ever Compare.” |
a.upper() | 产生新的字符串,所有字符全转成大写 | “SOME OF US GET DIPPED IN FLAT, SOME IN SATIN, SOME IN GLOSS. BUT EVERY ONCE IN A WHILE YOU FIND SOMEONE WHO’S IRIDESCENT. AND WHEN YOU DO, NOTHING WILL EVER COMPARE.” |
a.lower() | 产生新的字符串,所有字符全转成小写 | “some of us get dipped in flat, some in satin, some in gloss. but every once in a while you find someone who’s iridescent. and when you do, nothing will ever compare.” |
a.swapcase() | 产生新的,所有字母大小写转换 | “sOME OF US GET DIPPED IN FLAT, SOME IN SATIN, SOME IN GLOSS. bUT EVERY ONCE IN A WHILE YOU FIND SOMEONE WHO’S IRIDESCENT. aND WHEN YOU DO, NOTHING WILL EVER COMPARE.” |
>>> a = "Some of us get dipped in flat, some in satin, some in gloss. But every once in a while you find someone who's iridescent. And when you do, nothing will ever compare."
>>> a.capitalize()
"Some of us get dipped in flat, some in satin, some in gloss. but every once in a while you find someone who's iridescent. and when you do, nothing will ever compare."
>>> a.title()
"Some Of Us Get Dipped In Flat, Some In Satin, Some In Gloss. But Every Once In A While You Find Someone Who'S Iridescent. And When You Do, Nothing Will Ever Compare."
>>> a.upper()
"SOME OF US GET DIPPED IN FLAT, SOME IN SATIN, SOME IN GLOSS. BUT EVERY ONCE IN A WHILE YOU FIND SOMEONE WHO'S IRIDESCENT. AND WHEN YOU DO, NOTHING WILL EVER COMPARE."
>>> a.lower()
"some of us get dipped in flat, some in satin, some in gloss. but every once in a while you find someone who's iridescent. and when you do, nothing will ever compare."
>>> a.swapcase()
"sOME OF US GET DIPPED IN FLAT, SOME IN SATIN, SOME IN GLOSS. bUT EVERY ONCE IN A WHILE YOU FIND SOMEONE WHO'S IRIDESCENT. aND WHEN YOU DO, NOTHING WILL EVER COMPARE."
>>>
格式排版:
center()、ljust()、rjust()这三个函数用于对字符串实现排版,示例如下:
>>> a = "helloworld"
>>> a.center(20,"*") #20代表如果字符串长度小于20,则用后面的字符进行补充,如果大于,则将字符串全部打印
'*****helloworld*****'
>>> a.center(20)
' helloworld '
>>> a.ljust(10,"*")
'helloworld'
>>> a.ljust(20,"*")
'helloworld**********'
>>>
其他方法:
isalnum() | 是否为字母或者数字 |
---|---|
isalpha() | 检测字符串是否只由字母组成(含汉字) |
isdigit() | 检测字符串是否只有数字组成 |
isspace() | 检测是否为空白符 |
isupper() | 是否为大写字母 |
islower() | 是否为小写字母 |
>>> a = "helloworld"
>>> a.isalnum()
True
>>> a.isalpha()
True
>>> a.isdigit()
False
>>> a.isspace()
False
>>> a.isupper()
False
>>> a.islower()
True