我有一个读取.HRM文件的程序,我希望它能够搜索文本文件,并在它所声明之后检索整数值。我把它读取文本文件用于其他事情,我只是想不出这个。如下所示:
if (line.Contains("Version="))
{
//Get the integer after 'Version='
}
我不太确定如何获取此整数值并存储它。
HRM文件如下所示:
[Params]
Version=106
Monitor=34
SMode=111111100
Date=20130205
StartTime=15:46:20.0
Length=01:06:18.9
Interval=1
Upper1=0
Lower1=0
Upper2=0
Lower2=0
Upper3=180
Lower3=170
Timer1=00:00:00.0
Timer2=00:00:00.0
答案 0 :(得分:4)
找到该行包含Version=
var number = int.Parse(line.Split('=')[1]);
答案 1 :(得分:2)
怎么样
int Version = int.Parse(line.Split('=')[1]);
答案 2 :(得分:1)
SELECT * FROM pg_stat_activity;
或者你可以做RegEx等等。
答案 3 :(得分:0)
您可以使用字符串方法IndexOf
和Substring
,例如使用此LINQ查询:
IEnumerable<String> versions =
from line in File.ReadAllLines(@"filename.HRM") // go through all the lines
let index = line.IndexOf("Version=") // returns -1 if the line doesn't contain "Version="
where index >= 0 // return also those which contain it
select line.Substring(index + "Version=".Length); // return just the version after the '=' sign
foreach (string version in versions)
Console.WriteLine(version);
如果您只想要一个,您也可以使用string version = versions.FirstOrDefault();
如果您想将其转换为int
使用int.Parse
。
答案 4 :(得分:0)
如果您希望能够从任何字符串中提取数字,您可以使用它:
int versionNumber = int.Parse(Regex.Match(line, @"\d+").Value);