现在的位置: 首页 > 综合 > 正文

001_015 Python 扩展和压缩制表符即将制表符替换为一定数目的空格或者相反

2018年02月15日 ⁄ 综合 ⁄ 共 539字 ⁄ 字号 评论关闭

代码如下:

#encoding=utf-8
print '中国'

#制表符转化为空格

str='1\t2\n中\t国'
ustr=u'中\t国'
print str.expandtabs()
print ustr.expandtabs(4)

#空格转化为制表符 需求较少 处理单行字符串
import re #正则表达式  将空格给位空格加tab 其中将'a'应该'\t','b'应该为' ',便于观察进行了改动
def unexpand(astring, tablen=8):
    pieces = re.split(r'( +)',astring.expandtabs())
    lensofar=0 #字符串长度
    for i ,piece in enumerate(pieces):
        thislen=len(piece)
        lensofar += thislen
        if piece.isspace():
            numblanks = lensofar % tablen
            numtabs = (thislen - numblanks + tablen -1)/tablen
            pieces[i] ='a'*numtabs+'b'*numblanks
    return ''.join(pieces)

str='1        2        3'
print unexpand(str)

打印结果如下:

中国
1       2
中     国
中   国
1ab2abb3

抱歉!评论已关闭.