首页 > 解决方案 > 如何从字符串中提取整数值

问题描述

我使用 C# 运行 PowerShell 命令以获取总 RAM 容量,它会返回此值。@{TotalPhysicalMemory= 17856325}. 我写了一个代码来获取唯一的整数值。这是代码。

string ramSize = "@{TotalPhysicalMemory= 17856325}";
string ramValue = ramSize.Split('=')[1].Split('}')[0].Trim().ToString();

此代码返回整数值。但我想知道有什么方法可以轻松获得这个整数值吗?

标签: c#stringsplitinteger

解决方案


您可以使用正则表达式来获取值。

正则表达式 101

第一捕获组

\d匹配一个数字(相当于 [0-9])并 +匹配前一个标记一次到无限次

因此,将如上所述match.Groups[1].Value从组中获取值。(\d+)

using System.Text.RegularExpression;

string ramSize = "@{TotalPhysicalMemory= 17856325}";
Regex regex = new Regex(@"^\@{TotalPhysicalMemory= (\d+)}");
var match = regex.Match(str);
var ramValue = match.Groups[1].Value;

Console.WriteLine("Value: " + ramValue);

输出

价值:17856325

示例程序


推荐阅读