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

如何从字符串中提取整数值?C#处理PowerShell返回RAM值的简便方法

更简便的实现方案

共有三种不同场景下的优化写法,都比你当前的实现更简洁:

  • 极简LINQ写法:仅适合返回字符串中只存在一组数字的场景
    直接筛选所有数字字符拼接即可,不需要处理任何分隔符:
    string ramValue = new string(ramSize.Where(char.IsDigit).ToArray());
    
  • 简化分割逻辑:保持你原有思路的优化版
    一次性去掉首尾特殊符号后再分割,减少一次Split调用:
    string ramValue = ramSize.Trim('@', '{', '}').Split('=')[1].Trim();
    
  • 正则匹配写法:鲁棒性最高,兼容格式轻微变动的场景
    直接匹配连续数字串,即使后续PowerShell返回的格式顺序有变也能正常取值:
    // 需提前引用命名空间 using System.Text.RegularExpressions;
    string ramValue = Regex.Match(ramSize, @"\d+").Value;
    
    如果需要直接得到数值类型,可直接嵌套解析,推荐用long避免内存值超出int范围:
    long ramSizeBytes = long.Parse(Regex.Match(ramSize, @"\d+").Value);
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 15:45:02