Для любого файла с разделителями первая мысль, которую я имею, - это разбить его на разделители (в вашем случае, пробел) и обработать его как объект. Удаление столбца является тривиальным, если вы делаете это, и оно дает вам легкий доступ к данным для других целей.
Если, однако, ваша единственная задача - удалить этот столбец с помощью «external» + colon + all текст до следующего бита пробела, это легко сделать с заменой регулярного выражения.
$line = '02/02/2020 name:VAL_NATURE external:af2045b2-5992-432e-b790-c1ad4743038 status:good'
$line -replace 'external:.*\s',''
РЕДАКТИРОВАТЬ: Протестировал код выше и получил этот вывод:
02/02/2020 name:VAL_NATURE status:good
.
- это любой символ, а .*
говорит, что «любой символ ноль или более раз» продолжает совпадать, пока не попадет в пробел, который представлен \s
. Таким образом, это регулярное выражение соответствует слову «external», за которым следует «:», за которым следуют ноль или более других символов, за которыми следует пробел (пробел / tab / et c).
Надеюсь, это поможет!
Если это помогло вам, пожалуйста, не забудьте принять ответ, нажав на галочку в левом верхнем углу.