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: #如果都沒(méi)有,說(shuō)明是空行
 - break #跳出循環(huán)
 - outStr += singleStr #將所有行組成完整代碼
 - return outStr #返回
 - (注意,# -*- coding: utf-8 -*-是使用utf-8編碼,可以支持中文字符)
 
以上代碼實(shí)現(xiàn)了基本程序框架中的1-3步,第4步由于情況較復(fù)雜(有的行號(hào)后有分割符,有的沒(méi)有,而且空格數(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)
 














 
 
 

 
 
 
 