Python字符串在使用的时候需要不断的进行相关代码的替换。有些人在使用的时候还是有不少的问题存在。下面我们就来详细的学习下。由于Python字符串提供了良好的字符串操作功能,因此很快可以写出一个初步的版本:
- #代码1
- # -*- coding: utf-8 -*-
- def CutLineNum(inStr): #用def关键字声明函数,注意后边加冒号
- multiStr = inStr.splitlines(1) #将多行文本拆分为文本列表
- outStr = u'' for singleStr in multiStr: #循环用for in的结构,后边也加冒号
- singleStrsingleStr = singleStr.lstrip() #去除左侧空白
- i=0 #迭代算子 for charStr in singleStr: #从左至右循环查找字符
- if charStr.isdigit():#如果判断是数字类型 i += 1 #迭代算子加1
- elif i>0: #找到了一个非数字字符,而且前边已有数字字符
- singleStrsingleStr = singleStr[i:] #返回从该位置起的剩余字符
- break #跳出循环
- else: #如果都没有,说明是空行
- break #跳出循环
- outStr += singleStr #将所有行组成完整代码
- return outStr #返回
- (注意,# -*- coding: utf-8 -*-是使用utf-8编码,可以支持中文字符)
以上代码实现了基本程序框架中的1-3步,第4步由于情况较复杂(有的行号后有分割符,有的没有,而且空格数量也不一样),所以暂时用以下函数手工处理:
- # -*- coding: utf-8 -*-
- def CutLeftChar(inStr): outStr = u'' multiStr = inStr.splitlines(1)
for singleStr in multiStr: singleStrsingleStr = singleStr[1:]
outStr += singleStr return outStr
这样虽然苯拙一点,但至少解决了Python字符串替换问题。
【编辑推荐】