PowerShell 7.2.4如何删除字符串指定部分提取目标URL
PowerShell 7.2.4 提取目标链接的实现方案
针对你给出的待处理字符串,以下几种方法都可以直接剔除冗余内容、移除包裹引号,最终得到纯净的目标jar地址,全部在PowerShell 7.2.4环境下验证通过:
正则匹配法(适配性最高,不受排版空格影响)
直接匹配以https://开头、.jar结尾的URL片段,自动忽略前后的键名、引号、冒号等无关内容,代码如下:# 定义原始字符串 $originalString = '"url": "https://maven.fabricmc.net/net/fabricmc/fabric-installer/0.11.0/fabric-installer-0.11.0.jar"' # 正则提取目标链接 $result = [regex]::Match($originalString, 'https://[^"]+\.jar').Value执行后
$result变量存储的就是你需要的无引号URL,不需要额外做裁剪处理。JSON转换法(适合处理标准JSON片段场景)
你给出的字符串本身是标准JSON键值对片段,补全为完整JSON结构后可以直接反序列化取值,自动处理引号转义问题:$originalString = '"url": "https://maven.fabricmc.net/net/fabricmc/fabric-installer/0.11.0/fabric-installer-0.11.0.jar"' # 补全大括号转为合法JSON结构后直接取url字段 $result = ("{ $originalString }" | ConvertFrom-Json).url固定格式分割法(逻辑最简单,仅适配当前固定排版)
如果你的字符串格式完全固定、不会出现排版变动,可以直接按双引号分割字符串,取对应索引的片段即可:$originalString = '"url": "https://maven.fabricmc.net/net/fabricmc/fabric-installer/0.11.0/fabric-installer-0.11.0.jar"' # 按双引号分割后取第4段(索引从0开始计数) $result = $originalString.Split('"')[3]
注意:固定分割法对格式要求高,如果键值对之间的空格、引号位置有变动会取错值,优先推荐前两种方法。
内容的提问来源于stack exchange,提问作者user17632296
相关产品推荐
相关产品推荐

