代码如下:
#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