powershell: извлечение данных перед числовым значением из CSV-файла - PullRequest
0 голосов
/ 18 мая 2018

У меня странная и немного сложная проблема с CSV-файлом.CSV-файл содержит 10K + записей.Содержит список версий приложения.

Canon MF Toolbox 4.9.1.1.mf09 Canon MF Toolbox 4.9.1.1.mf11
Canon MF Toolbox 4.9.1.1.mf12 Canon MF Toolbox 4.9.1.1.mf14 Canon MF Toolbox 4.9.1.1.mf15 Canon MF Toolbox 4.9.1.1.mf16 Canon MF Toolbox 4.9.1.1.mf17 Canon MF Toolbox 4.9.1.1.mf18

Мне нужно получить данныеперед числовым значением.Итак, мой вывод будет содержать Canon MF Toolbox.

Это всего лишь пример того, как много программного обеспечения.Я могу открыть и прочитать CSV-файл из PowerShell, но я не уверен, как получить результат, который я ищу.

Import-Csv c:\scripts\software.csv |`
    ForEach-Object {
        $Name += $_.Name
       write-host $name;
    }

Любой совет.

1 Ответ

0 голосов
/ 18 мая 2018

Вы можете добавить регулярное выражение, исключающее числа, для вашего итератора ForEach-Object.

$Name = "Canon MF Toolbox 4.9.1.1.mf09 Canon MF Toolbox 4.9.1.1.mf11"

[regex]::Match($Name, "[A-Za-z_\s]*").captures.groups[0].value

Возвращает

Canon MF Toolbox

Есливам нужно изменить регулярное выражение при обнаружении новых шаблонов в ваших данных. Я рекомендую regex101.com

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