从字符串中拉出一个字符串(拆分?)

时间:2016-03-30 10:30:52

标签: python

我有一个字符串 - 示例如下:

g0/1                  192.168.1.1     YES NVRAM  up                    up

我想从中提取IP地址,但不是最后一个八位字节。我想拉192.168.1。从而可以在以后使用。

我想我需要使用split,但我不确定如何实现这一点。

output = '    g0/1                  192.168.1.1     YES NVRAM  up                    up'
ouput = ouput.split('192.168.1.',)

2 个答案:

答案 0 :(得分:6)

只需使用split()

>>> output.split()[1].rsplit(".", 1)[0]
'192.168.1'

答案 1 :(得分:3)

您可以使用Regular Expressions

import re

input_string = "g0/1                  192.168.1.1     YES NVRAM  up                    up"
output = re.search('\d{1,3}\.\d{1,3}\.\d{1,3}\.', input_string)

编辑:从match()更改为search(),因为match()仅查看字符串的开头。

此外,假设您要为多个字符串执行此操作,您可以使用findall()函数,而不是返回正则表达式的所有匹配组的列表。

> import re

> input_string = "g0/1                  192.168.1.1     YES NVRAM  up                    up"
> outputs = re.search('\d{1,3}\.\d{1,3}\.\d{1,3}\.', input_string)
> print(outputs)
['192.168.1.']