要读取 INI 文件中的配置项,你可以使用 System.IO.File
类来读取文件,然后使用 System.Text.RegularExpressions.Regex
类来搜索字符串并提取所需的值。下面是一个基本的函数示例,它根据传入的文件名和配置项名返回对应的配置值。
using System.IO;
using System.Text.RegularExpressions;
public static string GetIniValue(string fileName, string sectionName, string keyName)
{
string value = null;
string pattern = string.Format(@"\[(?<section>[^\]]+)\][\n\r\s]*((?<comment>;.*)|(?<key>[^=^;\n]+)=(?<value>[^\n^;]*))", sectionName);
if (File.Exists(fileName))
{
string fileContent = File.ReadAllText(fileName);
MatchCollection matches = Regex.Matches(fileContent, pattern, RegexOptions.IgnoreCase | RegexOptions.Multiline);
foreach (Match match in matches)
{
string section = match.Groups["section"].Value;
if (string.Compare(section, sectionName, StringComparison.OrdinalIgnoreCase) == 0)
{
string key = match.Groups["key"].Value.Trim();
if (string.Compare(key, keyName, StringComparison.OrdinalIgnoreCase) == 0)
{
value = match.Groups["value"].Value.Trim();
break;
}
}
}
}
return value;
}
这个函数实现了以下功能:
- 读取指定的 INI 文件;
- 通过正则表达式搜索文件内容、匹配指定的节和键,并返回匹配到的值。
使用方法:
string fileName = "C:\\example.ini";
string sectionName = "Section1";
string keyName = "Key1";
string value = GetIniValue(fileName, sectionName, keyName);
在上面的代码中,你需要将 fileName
设置为要读取的 INI 文件的完整路径,sectionName
设置为需要查找的节名称,keyName
设置为需要查找的键名称。然后可以使用返回的 value
变量获得相应的配置值。
需要注意的是,这个函数是一个基本示例,仅适用于具有类似于标准 INI 文件格式的文件。如果你遇到的是特定格式的 INI 文件,可能需要更改函数中的正则表达式以适应你的需要。
标签:读取,sectionName,value,fileName,keyName,INI,FAQ001,string From: https://www.cnblogs.com/titianblog/p/17951707