3

У меня есть текстовый файл со следующей информацией:

24.;128.32.;128,6;0.128.68.;128,1.;0.76.;;;;;0,1.;0.4.;0,2.;0.5.;0,4.;;;0.76.;128,;;;;;;;;172.30.1.1,172.30.1.228,

Мне нужно удалить все символы, которые появляются до 172.30.1.1 . Для моего файла это выглядит так:

172.16.1.1,172.16.1.210,

Я использую Poweshell для этого, но безуспешно.

1 ответ1

3

Многое будет зависеть от того, насколько последовательными будут ваши данные. Там будет множество методов. Вы можете сделать это с разделением:

$test = '24.;128.32.;128,6;0.128.68.;128,1.;0.76.;;;;;0,1.;0.4.;0,2.;0.5.;0,4.;;;0.76.;128,;;;;;;;;172.30.1.1,172.30.1.228,'
$partIWant = $test.Split(';')[$($test.Split(';').Count-1)]
$partIWant

Вы также можете использовать регулярные выражения:

$partIWant = $test -replace '.+(\d+.\d+\.\d+\.\d+\.\d+,\d+\.\d+\.\d+\.\d+,)', '$1'
$partIWant

Вам нужно будет выбрать метод, который вы хотите использовать, и настроить его на конкретные данные, с которыми вы будете работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .