Страницы: 1
RSS
После определенного слова скопировать текст (цифры)
 
Здравствуйте,

Ребят, подскажите пожалуйста как после определенного слова скопировать текст (цифры).
Мне нужно выписать все ip адреса из всего текста после "remote_" и заканчивая пробелом
К примеру из ячейки A4 нужно выписать 185.53.100.2 и так же из ячейки А84 и т.д.

Заранее спасибо!
 
в соседнем столбце вставьте такую функцию =ЕСЛИ(ЛЕВСИМВ(A1;7)="remote ";ПСТР(A1;8;ДЛСТР(A1)-12);"") и протяните ее. затем скопируйте весь столбец и сделайте вставку значений. отсортируйте столбец и будет список адресов
 
Спасибо большое, очень выручили!
 
Цитата
нужно выписать все ip адреса из всего текста после "remote_" и заканчивая пробелом
А вы уверены, что 185.53.100.2 является правильным IP адресом?
 
Цитата
Kuzmich написал:
А вы уверены, что 185.53.100.2 является правильным IP адресом?
А в чем проблема, нормальный Албанский адрес.
По вопросам из тем форума, личку не читаю.
 
Бен Форта в книге о регулярках  приводил шаблон для поиска IP адресов, так вот адрес 185.53.100.2 не находит
Код
.Pattern = "(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((1\d{2})|(2[0-4]\d)|(25[0-5]))"
 
Не совсем понимаю о чем речь, но с ip адресом все в порядке и при помощи формулы выше (которую немного подредактировал под разные ip) выцепил почти 5т адресов )
 
Kuzmich, этот шаблон почему-то требует, чтобы последнее число было не менее 100. Логично было бы повторить маску для первых трех чисел, только без точки
Код
.Pattern = "(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))"
 
Казанский, Алексей, я не знаю точно, как формируется IP адрес по правилам, только знаю,что каждая составляющая не должна быть больше 255.
А формула  возьмет все неправиьные адреса, типа 999.999.999.999
 
Kuzmich, полный код можно?
 
Цитата
полный код можно?
UDF
Код
'Бэн Форта 
Function iIP(cell$)
 With CreateObject("VBScript.RegExp")
     .Global = True
     .IgnoreCase = True
     .Pattern = "(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((1\d{2})|(2[0-4]\d)|(25[0-5]))"
     iIP = .Execute(cell)(0)
 End With
End Function
Страницы: 1
Наверх