首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python在列中查找文本

如何使用Python在列中查找文本
EN

Stack Overflow用户
提问于 2015-04-01 19:09:41
回答 2查看 224关注 0票数 1

如果我将下面的文本放在一个变量中,那么使用"NetName:"进行搜索并使"LVLT-GOGL-8-8-8"返回的最佳方法是什么?

代码语言:javascript
复制
NetRange:       8.8.8.0 - 8.8.8.255

CIDR:           8.8.8.0/24

NetName:        LVLT-GOGL-8-8-8

NetHandle:      NET-8-8-8-0-1

Parent:         LVLT-ORG-8-8 (NET-8-0-0-0-1)

NetType:        Reallocated

NetType:        Reallocated

OriginAS:  

Organization:   Google Inc. (GOGL)

RegDate:        2014-03-14

Updated:        2014-03-14

Ref:            http://whois.arin.net/rest/net/NET-8-8-8-0-1
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-01 19:25:29

您可以使用regex,在这种情况下,https://docs.python.org/2/library/re.html#re.search可以完成以下工作:

代码语言:javascript
复制
>>> s="""NetRange:       8.8.8.0 - 8.8.8.255
... 
... CIDR:           8.8.8.0/24
... 
... NetName:        LVLT-GOGL-8-8-8
... 
... NetHandle:      NET-8-8-8-0-1
... 
... Parent:         LVLT-ORG-8-8 (NET-8-0-0-0-1)
... 
... NetType:        Reallocated
... 
... NetType:        Reallocated
... 
... OriginAS:  
... 
... Organization:   Google Inc. (GOGL)
... 
... RegDate:        2014-03-14
... 
... Updated:        2014-03-14
... 
... Ref:            http://whois.arin.net/rest/net/NET-8-8-8-0-1"""
>>> import re

>>> re.search(r'NetName:\s+(.*)',s).group(1)
'LVLT-GOGL-8-8-8'

或者,您可以在拆分的字符串上循环并使用生成器表达式:

代码语言:javascript
复制
>>> next(line.split()[-1] for line in s.split('\n') if 'NetName:' in line)
'LVLT-GOGL-8-8-8'
票数 1
EN

Stack Overflow用户

发布于 2015-04-01 19:52:08

代码语言:javascript
复制
#!/usr/bin/env python
import re

ff = """NetRange:       8.8.8.0 - 8.8.8.255

CIDR:           8.8.8.0/24

NetName:        LVLT-GOGL-8-8-8

NetHandle:      NET-8-8-8-0-1

Parent:         LVLT-ORG-8-8 (NET-8-0-0-0-1)

NetType:        Reallocated

NetType:        Reallocated

OriginAS:  

Organization:   Google Inc. (GOGL)

RegDate:        2014-03-14

Updated:        2014-03-14

Ref:            http://whois.arin.net/rest/net/NET-8-8-8-0-1"""


m = re.search("NetRange:(.*)\n", ff)
print m.groups() # or do
print m.group(1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29398864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档