字符串常用方法

字符串有很多常用的方法。根据使用功能,大概如下:
常用查找方法:
根据一段文本作为测试:
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yue008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值