powershell:从csv文件中提取数值之前的数据



我的csv文件有一个奇怪且有点复杂的问题。CSV 文件包含 10K+ 条记录。它包含应用程序版本的列表。

佳能MF工具箱4.9.1.1.mf09 佳能MF工具箱4.9.1.1.mf11
佳能MF工具箱4.9.1.1.mf12 佳能MF工具箱4.9.1.1.mf14 佳能MF工具箱4.9.1.1.mf15 佳能MF工具箱4.9.1.1.mf16佳能MF工具箱 4.9.1.1.mf17 佳能MF工具箱 4.9.1.1.mf18

我需要在数值之前获取数据。因此,我的输出将包含佳能MF工具箱。

这只是一个例子,有很多软件。我可以从PowerShell打开并阅读csv,但我不确定如何获得我正在寻找的结果。

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

任何建议。

您可以将排除数字的正则表达式添加到 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

返回

佳能MF工具箱

如果您在发现数据中的新模式时需要修改正则表达式,我建议您 regex101.com

最新更新