从字符串文件中获取特定元素

本文关键字:元素 获取 字符串 文件 | 更新日期: 2023-09-27 18:32:10

大家好,我正在将文件读取到字符串变量中,但是我想知道将字符串中的特定元素仅返回到新变量的最佳方法是什么。

我有以下字符串数据文件:

[TEST1]
mem.consumed.average = 965608688
cpu.usagemhz.average = 18653
Hosts = 3
Points = 1535
RAM = 1535.96
CPU = 191.79
Powered_on VMs = 70
Powered_on RAM = 1049.02
Powered_on CPU = 410.15
Powered_on Points = 1051
Provisioned VMs = 74
Provisioned RAM = 1057.02
Provisioned CPU = 416.59
Provisioned Points = 1059
[TEST2]
mem.consumed.average = 298762549
cpu.usagemhz.average = 7782
Hosts = 4
Points = 1535
RAM = 1535.96
CPU = 191.79
Powered_on VMs = 54
Powered_on RAM = 303.00
Powered_on CPU = 266.29
Powered_on Points = 303
Provisioned VMs = 60
Provisioned RAM = 330.00
Provisioned CPU = 295.28
Provisioned Points = 330

我只想返回"主机"的值,因此在上述情况下,只有主机= 3(来自[TEST1])和主机= 4(来自[TEST2])。任何想法将不胜感激:)

从字符串文件中获取特定元素

我只会逐行阅读并寻找line.StartsWith("Hosts") - 如果这是真的,请拿出你需要的东西。

使用正则表达式类。

http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.aspx

如果你只想把它作为一个字符串搜索,为什么不使用.indexOf function。

所以它会是

int a = data.indexOf('hosts');
int b = data.indexOf('points');

然后

string hosts data = data.Substring(a,b);

您必须更改索引才能获得确切的值,但这应该很容易类似的东西

string hosts data = data.Substring(a + 7,b - 2);