You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中分割含空格的字符串提取指定内容存入数组

PowerShell 提取目标字段实现方案

原始字符串:"Device: ILO 5 Firmware Version : 2:33 Firmware date : 10-10-2020"
目标数组元素:ILO 5、2:33、10-10-2020

方法1:正则匹配(兼容性最优,不会受字段值内部特殊符号影响)

利用固定字段前缀做正则捕获,直接得到三个目标值:

# 定义原始字符串
$rawStr = "Device: ILO 5 Firmware Version : 2:33 Firmware date : 10-10-2020"
# 正则匹配捕获三个目标分组
$matchResult = [regex]::Match($rawStr, 'Device:\s*(.*?)\s*Firmware Version :\s*(.*?)\s*Firmware date :\s*(.*)')
# 提取分组值得到目标数组
$targetArray = $matchResult.Groups[1..3].Value

执行后直接访问$targetArray即可得到所需数组,可通过下标$targetArray[0]/$targetArray[1]/$targetArray[2]分别获取三个元素。

方法2:字符串替换拆分(逻辑更易理解)

先把固定的字段前缀替换为统一分隔符,再拆分过滤得到结果:

# 定义原始字符串
$rawStr = "Device: ILO 5 Firmware Version : 2:33 Firmware date : 10-10-2020"
# 替换所有字段前缀为统一分隔符|
$processedStr = $rawStr -replace 'Device: | Firmware Version : | Firmware date : ', '|'
# 拆分后过滤空值得到目标数组
$targetArray = $processedStr -split '\|' | Where-Object { $_ }

内容的提问来源于stack exchange,提问作者Puneet Tiwari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:27:05