您好,我有一个要求,我需要从文本文件中读取内容。示例文本内容如下。
Name=Check_Amt
Public=Yes
DateName=pp
Name=DBO
我需要阅读文本并只提取 Name='What ever text'
之后的值。
所以我期望输出为 Check_Amt
, DBO
我需要在 C# 中执行此操作
最佳答案
当查询数据(例如文件行)时,Linq 通常是一个方便的工具;如果文件中有行
name=value
格式,可以这样查询
- 读取 文件行
- 将每一行拆分成
name, value
对 - 按名称过滤对
- 从每对中提取值
- 将值具体化到集合中
代码:
using System.Linq;
...
// string[] {"Check_Amt", "DBO"}
var values = File
.ReadLines(@"c:\MyFile.txt")
.Select(line => line.Split(new char[] { '=' }, 2)) // split into name, value pairs
.Where(items => items.Length == 2) // to be on the safe side
.Where(items => items[0] == "Name") // name == "Name" only
.Select(items => items[1]) // value from name=value
.ToArray(); // let's have an array
最后,如果你想要逗号分隔的string
,Join
values
:
// "Check_Amt,DBO"
string result = string.Join(",", values);
关于c# - 从具有特定模式的文本文件中读取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58099339/