Python字符串如何進(jìn)行代碼替換
作者:佚名
Python字符串在使用的時(shí)候需要我們不斷的替換相關(guān)的代碼行,有人認(rèn)為這是一個(gè)繁瑣的事情,其實(shí)這也有簡(jiǎn)單的方案。
Python字符串在使用的時(shí)候需要不斷的進(jìn)行相關(guān)代碼的替換。有些人在使用的時(shí)候還是有不少的問(wèn)題存在。下面我們就來(lái)詳細(xì)的學(xué)習(xí)下。由于Python字符串提供了良好的字符串操作功能,因此很快可以寫出一個(gè)初步的版本:
- #代碼1
- # -*- coding: utf-8 -*-
- def CutLineNum(inStr): #用def關(guān)鍵字聲明函數(shù),注意后邊加冒號(hào)
- multiStr = inStr.splitlines(1) #將多行文本拆分為文本列表
- outStr = u'' for singleStr in multiStr: #循環(huán)用for in的結(jié)構(gòu),后邊也加冒號(hào)
- singleStrsingleStr = singleStr.lstrip() #去除左側(cè)空白
- i=0 #迭代算子 for charStr in singleStr: #從左至右循環(huán)查找字符
- if charStr.isdigit():#如果判斷是數(shù)字類型 i += 1 #迭代算子加1
- elif i>0: #找到了一個(gè)非數(shù)字字符,而且前邊已有數(shù)字字符
- singleStrsingleStr = singleStr[i:] #返回從該位置起的剩余字符
- break #跳出循環(huán)
- else: #如果都沒有,說(shuō)明是空行
- break #跳出循環(huán)
- outStr += singleStr #將所有行組成完整代碼
- return outStr #返回
- (注意,# -*- coding: utf-8 -*-是使用utf-8編碼,可以支持中文字符)
以上代碼實(shí)現(xiàn)了基本程序框架中的1-3步,第4步由于情況較復(fù)雜(有的行號(hào)后有分割符,有的沒有,而且空格數(shù)量也不一樣),所以暫時(shí)用以下函數(shù)手工處理:
- # -*- coding: utf-8 -*-
- def CutLeftChar(inStr): outStr = u'' multiStr = inStr.splitlines(1)
for singleStr in multiStr: singleStrsingleStr = singleStr[1:]
outStr += singleStr return outStr
這樣雖然苯拙一點(diǎn),但至少解決了Python字符串替換問(wèn)題。
【編輯推薦】
責(zé)任編輯:張浩
來(lái)源:
IT專家網(wǎng)