001_015 Python拡張タブと圧縮タブは、タブを一定数のスペースに置き換えるか、逆に置き換える
853 ワード
コードは次のとおりです.
印刷結果は次のとおりです.
中国1 2中国中国1 ab 2 abb 3
#encoding=utf-8
print ' '
#
str='1\t2
\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中国中国1 ab 2 abb 3