日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python字符串中find函数_Python之字符串常用花哨玩法

發(fā)布時(shí)間:2024/4/19 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python字符串中find函数_Python之字符串常用花哨玩法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

字符串類型

在python中,字符串類型確實(shí)是一種很強(qiáng)大的類型,其中的功能函數(shù)更是令人震驚,這多么類都是誰寫的,太感謝他了\(^o^)/

當(dāng)然,在實(shí)際工作中可能用不到那么多的函數(shù),根據(jù)需求來嘛,一下介紹一些常用的函數(shù)。

去除填充物函數(shù)

去除指定的填充,默認(rèn)是空格

>> name=input('username>>')

username>> fade

>>> name.strip()

'fade'

>>> name.lstrip()

'fade '

>>> name.rstrip()

' fade'

>>> name=input('username>>')

username>>******fade*********

>>> name.strip('*')

'fade'

>>> name.lstrip('*')

'fade*********'

>>> name.rstrip('*')

'******fade'

切分函數(shù)

函數(shù)原型類

split(self, sep=None, maxsplit=-1):

其中,sep #指定分隔符,maxsplit #最大切割多少次

>>> user_info='ntp:x:38:38::/etc/ntp:/sbin/nologin'

>>> print(user_info.split(':')) #使用后會(huì)切割成一個(gè)列表

['ntp', 'x', '38', '38', '', '/etc/ntp', '/sbin/nologin']

>>> print(user_info.split(':')[3])

38

>>> print(type(user_info.split(':')[3]))

maxsplit的使用,指定切割幾次

>>> user='w4rri0r|get|000111|crazy'

>>> print(user.split('|',1))

['w4rri0r', 'get|000111|crazy']

>>> print(user.split('|',2))

['w4rri0r', 'get', '000111|crazy']

統(tǒng)計(jì)字符串的長度

這個(gè)函數(shù)不用說,大家都知道,常用的到死。

>>> user='w4rri0r'

>>> len(user)

7

>>> user.__len__()

7

判斷以指定字符開頭或者結(jié)尾

判斷開頭和結(jié)尾的指定字符串是否與制定的字符串一致,返回布爾值

>>> linux='mkdir_dir&&touch a.txt'

>>> linux.endswith('txt')

True

>>> linux.startswith('mk')

True

>>> linux.startswith('mkddd')

False

替換函數(shù)

將指定字符串替換為指定字符串//如果在加上文件讀寫,按行讀取,豈不是實(shí)現(xiàn)了sed -i ‘ sg’的功能\(^o^)/

>>> remark='w4rri0r is 18'

>>> print(remark.replace('w4rri0r','fade'))

fade is 18

>>> print(remark.replace('w4rri0r','fade'))

fade is 18,fade,fade,fade

>>> print(remark.replace('w4rri0r','fade',2))

fade is 18,fade,fade,w4rri0r

>>> print(remark.replace('w4rri0r','fade',1))

fade is 18,w4rri0r,fade,w4rri0r

格式化輸出函數(shù),format的三種玩法

第一種玩法。使用{}進(jìn)行占位操作,然后輸出后面指定的字符串

>>> print('name:{} | age:{} | sex:{},by {}'.format('w4rri0r','18','man','w4rri0r'))

name:w4rri0r | age:18 | sex:man,by w4rri0r

第二種玩法。可以使用下標(biāo)的方式,進(jìn)行給與其定位

>>> print('name:{0} | age:{1} | sex:{2},by {0}'.format('w4rri0r','18','man'))

name:w4rri0r | age:18 | sex:man,by w4rri0r

第三種玩法。使用keyvalues形式,進(jìn)行指定輸出

>>> print('name:{name} | age:{age} | sex:{sex},by {name}'.format(name='w4rri0r',age='18',sex='man'))

name:w4rri0r | age:18 | sex:man,by w4rri0r

第四種玩法。使用傳參的形式,進(jìn)行格式化輸出

>>> name='w4rri0r'

>>> age=18

>>> sex='man'

>>> print('name:{} | age:{} | sex:{},by {}'.format(name,age,sex,name))

name:w4rri0r | age:18 | sex:man,by w4rri0r

判斷字符串中是否包含有數(shù)字

>>> num='123'

>>> print(num.isdigit())

True

isdigit()

True: Unicode數(shù)字,byte數(shù)字(單字節(jié)),全角數(shù)字(雙字節(jié)),羅馬數(shù)字

False: 漢字?jǐn)?shù)字

Error: 無

isdecimal()

True: Unicode數(shù)字,,全角數(shù)字(雙字節(jié))

False: 羅馬數(shù)字,漢字?jǐn)?shù)字

Error: byte數(shù)字(單字節(jié))

isnumeric()

True: Unicode數(shù)字,全角數(shù)字(雙字節(jié)),羅馬數(shù)字,漢字?jǐn)?shù)字

False: 無

Error: byte數(shù)字(單字節(jié))

isalpha()? 判斷是不是字母

isspace()? 判斷是不是空格

查找函數(shù),find,index

查找字符串函數(shù)

>>> name='w4rri0r'

>>> name.find('r') #查找字符串,從左到右匹配第一個(gè),存在即返回第一個(gè)匹配到的下標(biāo)

2

>>> name.find('a') #沒有匹配到,則返回-1

-1

>>> name.find('r',3,6) #可以指定區(qū)間查找

3

>>> name.find('4r')

1

>>> name.find('4i')

-1

同樣是查找函數(shù)index(),在用法上都是一樣的,指定要查找的字符串,只能查找第一層的字符串,同時(shí)還可以指定區(qū)間查找指定的字符串。唯一的區(qū)別就是,index在查找不見指定字符時(shí),會(huì)出現(xiàn)報(bào)錯(cuò),not in string,使用find函數(shù)則不會(huì),會(huì)返回-1這個(gè)值,用以表示不存在。

其他查找函數(shù):

.rfind 從右開始向左查找

.count統(tǒng)計(jì)查找到的次數(shù)

>>> name='w4rri0r'

>>> name.rfind('r')

6

>>> name.rfind('0')

5

>>> name.count('r')

3

拼接字符串,并指定分隔

可以將列表中的字符串拼接成一個(gè)字符串,并且還能添加指定的字符進(jìn)行分割操作。

>>> l=['w4rri0r','say','hello','word']

>>> ':'.join(l) #':' 指定的分隔字符,(l)需要拼接的字符串列表

'w4rri0r:say:hello:word'

限制,只能是字符串,不能拼接,字符串和數(shù)字

填充字符串函數(shù)

center(self, width, fillchar=None)

該類的參數(shù),有兩個(gè),width,指定寬度,fillchar,需要填充的字符

>>> name='w4rri0r'

>>> name.center(7,'\\') #反斜杠帶有轉(zhuǎn)義的意思,所以需要用兩個(gè)反斜杠

'w4rri0r'

>>> name.center(7,'ra') #不能用兩個(gè)字符

Traceback (most recent call last):

File "", line 1, in

TypeError: The fill character must be exactly one character long

>>> name.center(7,'O') #如果長度設(shè)置為原字符串長度,則不填充

'w4rri0r'

>>> name.center(10,'*') #長度為10,原字符串長度為7,添加到10即可

'*w4rri0r**'

還有一些其他衍生函數(shù)

>>> name='w4rri0r'

>>> print(name.ljust(11,'*')) #與正常人類相反,l是右,r是左

w4rri0r****

>>> print(name.rjust(11,'*'))

****w4rri0r

>>> print(name.zfill(10)) #zfill是默認(rèn)填充的0

000w4rri0r

大小寫轉(zhuǎn)換

各種花哨的用法

>>> name='W4RRRI0R'

>>> name.lower() #將大寫的字符全部轉(zhuǎn)換為小寫,同時(shí)該類沒有需要傳入的參數(shù)

'w4rrri0r'

>>> name='w4rrri0r'

>>> name.upper() #將所有小寫的字符全部轉(zhuǎn)換為大寫

'W4RRRI0R'

>>> name.capitalize() #將首字母大寫

'W4rrri0r'

>>> name='W4rri0r'

>>> name.swapcase() #大小寫反轉(zhuǎn)函數(shù)

'w4RRI0R'

>>> name='fade,crazy*w4rri0r_songsong node_3'

>>> uName=s.title()?? #根據(jù)特殊字符,數(shù)字進(jìn)行切割,然后將首字母大寫

>>> uName

'Fade,Crazy*W4Rri0R_Songsong Node_3'

下面來一個(gè)實(shí)際用例,驗(yàn)證碼的驗(yàn)證方式:

s_str='ac4EQ'

you_input=input('請(qǐng)輸入驗(yàn)證碼>>')

if s_str.upper()== you_input.upper():

print('輸入成功')

====================直接貼結(jié)果啦,哈哈========================

請(qǐng)輸入驗(yàn)證碼>>ac4eq

輸入成功

tab函數(shù)的用法

該函數(shù)就有些雞肋的感覺了,用處不是很大,但是也總結(jié)上來了,看下吧~

原型類

expandtabs(self, tabsize=8) #這單詞解釋這么明顯,tab大小默認(rèn)為8個(gè)

來些實(shí)例看下

>>> name='werri0r\tsir'

>>> name.expandtabs()

'werri0r sir'

>>> name='werr\tsir'

>>> name.expandtabs()

'werr sir'

OK,就這么多了,日后有學(xué)習(xí)的,就在添加吧,吃飯去嘍(*^__^*)

W4rr10r 版權(quán)所有丨如未注明 , 均為原創(chuàng)丨本網(wǎng)站采用BY-NC-SA協(xié)議進(jìn)行授權(quán) , 轉(zhuǎn)載請(qǐng)注明Python之字符串常用花哨玩法!

總結(jié)

以上是生活随笔為你收集整理的python字符串中find函数_Python之字符串常用花哨玩法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。