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

如何从指定数据数组提取89011337751并写入变量?支持bash/PowerShell吗?

提取指定值并写入变量的实现方法

你可以通过Bash、PowerShell、Python等多种脚本语言实现需求,以下是具体方案:

Bash 实现

先将目标字符串存入变量,再通过文本处理工具提取值:

# 定义输入字符串
input="[U8EUGGG1C32144101336_gulu, V5EUHHG1P12100100418_89011337751, V5EUHHG1P22111000028_89011337751]"

# 提取目标值并存入变量(精准匹配)
target_val=$(echo "$input" | grep -o '_89011337751' | head -n1 | cut -d'_' -f2)

# 验证结果
echo $target_val

如果需要通用提取下划线后的唯一数字串:

target_val=$(echo "$input" | grep -o '_[0-9]*' | sort -u | cut -d'_' -f2)

PowerShell 实现

利用正则匹配快速定位目标值:

# 定义输入字符串
$inputStr = "[U8EUGGG1C32144101336_gulu, V5EUHHG1P12100100418_89011337751, V5EUHHG1P22111000028_89011337751]"

# 提取第一个匹配的目标值
$targetVal = [regex]::Match($inputStr, '_(\d{11})').Groups[1].Value

# 去重版本(确保仅保留唯一值)
$targetVal = ($inputStr | Select-String -Pattern '_(\d{11})' -AllMatches | ForEach-Object { $_.Matches.Groups[1].Value } | Get-Unique)

# 验证结果
$targetVal

Python 实现

适合复杂字符串解析场景:

input_str = "[U8EUGGG1C32144101336_gulu, V5EUHHG1P12100100418_89011337751, V5EUHHG1P22111000028_89011337751]"
import re

# 提取所有匹配的数字串
matches = re.findall(r'_(\d{11})', input_str)
# 取第一个匹配值,或去重后取唯一值
target_val = matches[0] if matches else None
# 去重版本
target_val = list(set(matches))[0] if matches else None

print(target_val)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 14:48:23