Python分割字符串 有无和c++中的tokenizer同样功能的用法?
比如我想分割a=f1(`MAX(b,0.0,1.0)+0.5);我要把这句指令分成af1`MAXb0.01.00.5c++中使用tokenizer类可以很轻松的实现用py...
比如我想分割
a = f1(`MAX(b, 0.0, 1.0) + 0.5);
我要把这句指令分成
a f1 `MAX b 0.0 1.0 0.5
c++中使用tokenizer类可以很轻松的实现
用python如何实现? 展开
a = f1(`MAX(b, 0.0, 1.0) + 0.5);
我要把这句指令分成
a f1 `MAX b 0.0 1.0 0.5
c++中使用tokenizer类可以很轻松的实现
用python如何实现? 展开
2个回答
展开全部
回楼主。
在tokenize里,
这里有英文的参考文档
import tokenize
import StringIO
s = StringIO.StringIO( '21.3e-5*-.1234/81.7' )
g = tokenize.generate_tokens( s.readline )
for tokenum, tokeval, _, _, _ in g:
if tokenum == tokenize.NUMBER and '.' in tokeval:
result.extend( [( tokenize.NAME, 'Decimal' ),
( tokenize.OP, '(' ),
( tokenize.STRING, repr( tokeval ) ),
( tokenize.OP, ')' )] )
else:
result.append( ( tokenum, tokeval ) )
print result
这是我临时照抄的一个例子
在tokenize里,
这里有英文的参考文档
import tokenize
import StringIO
s = StringIO.StringIO( '21.3e-5*-.1234/81.7' )
g = tokenize.generate_tokens( s.readline )
for tokenum, tokeval, _, _, _ in g:
if tokenum == tokenize.NUMBER and '.' in tokeval:
result.extend( [( tokenize.NAME, 'Decimal' ),
( tokenize.OP, '(' ),
( tokenize.STRING, repr( tokeval ) ),
( tokenize.OP, ')' )] )
else:
result.append( ( tokenum, tokeval ) )
print result
这是我临时照抄的一个例子
参考资料: http://docs.python.org/library/tokenize.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询