Chinaunix
标题:
cookbok里面的一个例子,求解!
[打印本页]
作者:
aries1998
时间:
2008-04-19 00:24
标题:
cookbok里面的一个例子,求解!
把单行string里面的空格转换成tab的函数
def unexpand(astring, tablen=8):
import re
# split into alternating space and non-space sequences
pieces = re.split(r'( +)', astring.expandtabs(tablen))
# keep track of the total length of the string so far
lensofar = 0
for i, piece in enumerate(pieces):
thislen = len(piece)
lensofar += thislen
if piece.isspace( ):
# change each space sequences into tabs+spaces
numblanks = lensofar % tablen
numtabs = (thislen-numblanks+tablen-1)/tablen
pieces[i] = '\t'*numtabs + ' '*numblanks
return ''.join(pieces)
复制代码
其中两行,不是太懂为什么要这么计算。
numblanks = lensofar % tablen
numtabs = (thislen-numblanks+tablen-1)/tablen
按照我的理解,下面这样就可以了。
numblanks = len(piece) % tablen
numtabs = len(piece) / tablen
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2