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

PowerShell匹配字符串末尾-v模式并提取前缀内容求助

提取指定字符串前缀的解决方案

你可以通过正则捕获组或者字符串分割的方式,快速提取目标前缀,以下是具体实现:

正则捕获组方案

核心思路是用正则匹配末尾的-v数字模式,同时通过捕获组提取前面的前缀内容。

Python 代码示例

import re

target_strings = ["dep-value-sync-excess-v12", "dep-value-sync-excess-v100"]
# 正则:匹配开头到-v前的内容作为捕获组,末尾匹配-v+数字
pattern = r"^(.*)-v\d+$"

for s in target_strings:
    match_result = re.match(pattern, s)
    if match_result:
        print(match_result.group(1))  # 输出:dep-value-sync-excess

JavaScript 代码示例

const targetStrings = ["dep-value-sync-excess-v12", "dep-value-sync-excess-v100"];
const pattern = /^(.*)-v\d+$/;

targetStrings.forEach(str => {
    const match = str.match(pattern);
    if (match) {
        console.log(match[1]); // 输出:dep-value-sync-excess
    }
});

字符串分割方案

如果确定字符串格式固定为前缀-v数字,可以通过从最后一个-v位置截断的方式提取前缀:

Python 代码示例

target_strings = ["dep-value-sync-excess-v12", "dep-value-sync-excess-v100"]

for s in target_strings:
    # 从最后一个"-v"处分割,取前半部分
    prefix = s.rsplit("-v", 1)[0]
    print(prefix)

JavaScript 代码示例

const targetStrings = ["dep-value-sync-excess-v12", "dep-value-sync-excess-v100"];

targetStrings.forEach(str => {
    const parts = str.split("-v");
    // 拼接除最后一部分外的所有内容(处理前缀中可能含"-v"的情况)
    const prefix = parts.slice(0, -1).join("-v");
    console.log(prefix);
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 13:50:21