2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

Python字符串

 豬一樣迷人 2019-12-14

日常使用python經(jīng)常要對(duì)文本進(jìn)行處理,無(wú)論是爬蟲(chóng)的數(shù)據(jù)解析,還是大數(shù)據(jù)的文本清洗,還是普通文件的處理,都是要用到字符串.。Python對(duì)字符串的處理內(nèi)置了很多高效的函數(shù),非常方便功能很強(qiáng)大。下面是我總結(jié)的常用的7招,有了這幾招就能輕松應(yīng)對(duì)字符串處理。

整理到頭皮發(fā)麻~改天做個(gè)小測(cè)試,看看有沒(méi)有人在看!

1.字符串的連接和合并

連接和合并

1)相加 >>>兩個(gè)字符串可以很方便的通過(guò)' '連接起來(lái)

str1 = 'hello'
str2 = 'forchange'
new_str = str1 str2
print(new_str)
>>>helloforchange

2)合并>>>用join方法

url = ['www','pypypy','cn']
print('.'.join(url))
>>>www.pypypy.cn
# 注意:這里的太多'.'一定要加上哈,你不加就是語(yǔ)法錯(cuò)誤,固定格式。有能力的同學(xué)可以看一下python的官方文檔~沒(méi)有也沒(méi)事,畢竟我也沒(méi)看完。

2.字符串的切片和相乘

1)相乘>>>比如寫(xiě)代碼的時(shí)候要分隔符,用python很容易實(shí)現(xiàn)

line='#'*30
print(line)
>>##############################

2)切片

str = 'fengbian is very good'
print(str[0:10]) #表示取第一個(gè)到第10個(gè)的字符串
>>>fengbian i #注意:空格在字符串也算一個(gè)字符
# 上面肯定又有同學(xué)混亂了,不是左取右不取嘛,怎么第10位也取了。大哥,人家偏移量(下標(biāo))是從0開(kāi)始的嘛,那我們習(xí)慣數(shù)數(shù)的時(shí)候是從1開(kāi)始嘛,好不好?頭給你錘歪~

3.字符串的分割

1)普通的分割,用split,分割和切片不同哈。

split只能做非常簡(jiǎn)單的分割,而且不支持多個(gè)分隔

print(phone.split('-'))
>>['400', '800', '800', '1234']

2)復(fù)雜的分割

r表示不轉(zhuǎn)義,分隔符可以是;或者,

空格后面跟0個(gè)多個(gè)額外的空格,然后按照這個(gè)模式去分割

line = 'learn programme; I ,like, fengbian'
import re
print(re.split(r'[;,s]\s*',line))
>>>['learn programme', 'I ', 'like', 'fengbian']

好了,肯定又有同學(xué)要問(wèn)我這是啥啊,我看不懂~~~我也沒(méi)看懂,哈哈哈哈哈哈哈哈,開(kāi)個(gè)玩笑

注意看,line一開(kāi)始是字符串,里面的;,兩個(gè)符號(hào)都要用英文,在寫(xiě)代碼的時(shí)候,一般遇到符號(hào)自動(dòng)切成英文輸入法,不然到后面很多語(yǔ)法你會(huì)發(fā)現(xiàn),明明照寫(xiě)了,為嘛還是不能實(shí)現(xiàn)出別人的效果,我剛剛就犯了這個(gè)錯(cuò)誤,在電腦前抓耳饒腮了半個(gè)小時(shí),差點(diǎn)兒砸電腦了~

說(shuō)道哪了,回正題~re.split(r'[;,s]\s*',line ,這個(gè)屬于固定格式,line不算哈,那個(gè)是變量名。

你也看到了,打印出來(lái)的結(jié)果是一個(gè)列表,里面的每個(gè)元素都是字符串,這個(gè)沒(méi)毛病吧。那么這個(gè)玩意到底會(huì)在哪個(gè)場(chǎng)景用到,以后做數(shù)據(jù)清洗的時(shí)候會(huì)用到~

4.字符串的開(kāi)頭和結(jié)尾的處理

比方我們要查一個(gè)文件的名字是以什么開(kāi)頭或者什么結(jié)尾

filename='trace.h'
print(filename.endswith('h'))
>>True
print(filename.startswith('trace'))
>>True

5.字符串的查找和匹配

1)一般查找

在長(zhǎng)的字符串里面查找子字符串,會(huì)返回子字符串所在位置的索引, 若找不到返回-1

title = 'I like you, fengbian,I\'m a better person because of you'
print(title.find('you'))
>>>8

哥,數(shù)的時(shí)候從0開(kāi)始數(shù),下標(biāo)是從0開(kāi)始的啊,哦對(duì)了,空格也要數(shù)~瘋狂提醒

2)復(fù)雜的匹配

mybirthday = '1996/05/28'
import re
if re.match(r'\d /\d /\d ',mybithday):
print('ok,match')
esle:
print('ko not match')
>>>ok,match

這個(gè)我還沒(méi)想到很好的比喻給你們解釋?zhuān)认氲搅?,我在提醒你們?lái)看~偷懶!

6.字符串的替換

1)普通的替換

用replace就可以

text ='I like you, fengbian,I\'m a better person because of you'
print(text.replace('like','love'))
>>>I love you, fengbian,I'm a better person because of you

2)復(fù)雜的替換

若要處理復(fù)雜的或者多個(gè)的替換,需要用到re模塊的sub函數(shù)

import re
myinfo = 'height 173,weight 120'
print(re.sub(r'\d ','180',myinfo))
>>>height 180,weight  180

這個(gè)也留著,以后一起解釋~


7.字符串中去掉一些字符

1)去除空格

對(duì)文本處理的時(shí)候比如從文件中讀取一行,然后需要去除每一行的兩側(cè)的空格,table或者是換行符

line='  Congratulations, you guessed it.    '
print(line.strip())
>>Congratulations, you guessed it.

注意:字符串內(nèi)部的空格不能去掉,若要去掉需要用re模塊

2)復(fù)雜的文本清理可以利用str.translate,

先構(gòu)建一個(gè)轉(zhuǎn)換表,table是一個(gè)翻譯表,表示把't''o'轉(zhuǎn)成大寫(xiě)的'T' 'O',

然后在old_str里面去掉'12345',然后剩下的字符串再經(jīng)過(guò)table翻譯

import string
instr = 'to'
outstr = 'TO'
old_str = 'hello woold,welcome to use python.123456'
table = old_str.maketrans(instr,outstr)
new_str = old_str.translate(table)
print(new_str)
>>>hellO wOOld,welcOme TO use pyThOn.123456

注釋?zhuān)哼@一章節(jié)還有些不完整~后續(xù)更新我會(huì)提醒各位

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多