2013-03-01 70 views
0

我作为简单的正则表达式来过滤掉一个字

app_39 281 33 94332 21228 ffffffff afd0c51c S abc 
app_39 292 33 103864 30060 ffffffff afd0c51c S cvc.notes 
app_39 303 33 94332 21344 ffffffff afd0c51c S cocccs:syncHandler 
app_39 312 33 94332 21404 ffffffff afd0c51c S cccs:cacheHandler 
app_39 321 33 94332 21344 ffffffff afd0c51c S cocccs:dailyReceiver 

这整个输出被存储在一个名为outresult

variabble输出如何我可以使用Python来提取的第二个字第二行?那是292并将其存储在一个变量中?

+0

你有这个输出作为一个列表?作为多行字符串?作为一个文件或类似流'stdin'? – 2013-03-01 06:53:52

+0

不,这是** **不STO-RED在VA-RIA-B-LE GNA GNA GNA。有** **不变量摆脱它被Python。只有标识符和对象。 – eyquem 2013-03-01 07:25:21

回答

8
output.split('\n')[1].split()[1] 

不需要正则表达式。

+1

没有正则表达式需要,现在你得到0问题+1。 – daramarak 2013-03-01 06:56:10

+1

'.split(无,2)[1]'可能会稍微更有效,因为只有你实际需要2个分流至得到你想要的。 – 2013-03-01 07:40:36

0
ss = '''app_39 281 33 94332 21228 ffffffff afd0c51c S abc 
app_39 292 33 103864 30060 ffffffff afd0c51c S cvc.notes 
app_39 303 33 94332 21344 ffffffff afd0c51c S cocccs:syncHandler 
app_39 312 33 94332 21404 ffffffff afd0c51c S cccs:cacheHandler 
app_39 321 33 94332 21344 ffffffff afd0c51c S cocccs:dailyReceiver''' 

def lect(inp,nline,nw): 
    gen = (xli.split() for i,xli in enumerate(inp.splitlines()) if i==nline-1) 
    return gen.next()[nw-1] 


print lect(ss,2,2)