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

来源:互联网 发布:关于网络 编辑:程序博客网 时间:2024/05/22 13:42

代码如下:

#encoding=utf-8print '中国'#制表符转化为空格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

0 0
原创粉丝点击