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

PowerShell按斜杠('/')拆分字符串,如何提取指定VALUE字段

解决PowerShell提取字符串中VALUE的问题

你的问题出在数组索引选择和未处理末尾引号上,我来帮你修正并提供更可靠的方案:

方法一:修正拆分逻辑

原命令里$text.split('/')[1]取的是拆分后的第二个元素(PowerShell数组索引从0开始),而你要的VALUE实际在第三个位置(索引2),而且这个元素会带上末尾的双引号,需要额外清理。修正后的命令如下:

$text = Get-Content C:\temp\file.txt
$text | ForEach-Object {
    # 按/拆分后取第三个元素,再去掉前后的双引号
    ($_ -split '/')[2].Trim('"')
} | Out-File C:\temp\file1.txt

这里用PowerShell原生的-split运算符(比.NET的Split()更适配数组处理),通过ForEach-Object遍历文件每一行(支持多行场景),最后用Trim('"')清除VALUE前后的双引号。

方法二:使用正则表达式(更稳定)

如果你的txt文件格式可能有微小变动(比如空格、引号位置微调),正则表达式会是更可靠的选择。我们可以直接匹配最后一个/到末尾双引号之间的内容:

$text = Get-Content C:\temp\file.txt
$text | ForEach-Object {
    # 匹配/之后到末尾"之前的所有非/字符
    if ($_ -match '/([^/]+)"$') {
        $matches[1]
    }
} | Out-File C:\temp\file1.txt

正则/([^/]+)"$的含义:

  • /:匹配分隔符
  • ([^/]+):捕获所有不是/的字符(也就是目标VALUE)
  • "$:匹配行末的双引号
    匹配成功后,$matches[1]就是纯净的VALUE内容。

内容的提问来源于stack exchange,提问作者CDP-cdp

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:18:12