как извлечь вывод после символа в python? - PullRequest
0 голосов
/ 04 августа 2020

Я бы извлек все числа после символа, содержащегося в выводе. Что лучше подходит для этой цели, регулярные выражения?

например, у меня есть вывод как 172.4.5.3/32, и мне нужно отфильтровать этот вывод как /32

Ответы [ 4 ]

2 голосов
/ 04 августа 2020

В этом конкретном случае я бы использовал go с классами Python, предназначенными для работы с IP-адресами :

from ipaddress import IPv4Network

n = IPv4Network('172.4.5.3/32')
print(n.prefixlen)
0 голосов
/ 04 августа 2020

Вы можете разделить его на '/' или использовать re.findall.

re.findall('/.*', '172.4.5.3/32')[0]
outputs '/32'
0 голосов
/ 04 августа 2020

Метод python .split() позволяет вам разделить строку на несколько элементов списка, разделив их на выбранный вами разделитель.

ip_string = '172.4.5.3/32'
ip_subnet = ip_string.split('/')[1]

вернет вам второе значение этого разделения. строка, то есть '32'

0 голосов
/ 04 августа 2020

Это разбивает строку на несколько строк (разделенных там, где встречается /) и помещает их в массив. После этого я выбираю последний элемент этого массива и добавляю /.

input = "172.4.5.3/32"

output = '/' + input.split('/')[-1]

print(output)

output:

/32
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...