如何使用标签在文本文件中查找文本?

How to find text in a text file using tags?

我有一个从 C# 代码片段创建的文件,该文本文件的结构如下:

#File
    
[ASSETS]
    
[VARIABLES]
i: 0
    

然后,在同一个文件中,写入以下行:

#File
    
[ASSETS]
   "Image.png">C:\Users\User\Desktop\Image.png
    "mine.gif"C:\Users\User\Desktop\mine.gif
    
[VARIABLES]
i: 0

现在我想做的是找到标签“[ASSETS]”内的文本我该怎么做?

如果启用单行和多行,这个正则表达式应该能够完成工作
^\[ASSETS\](.+)^\[ 你会在第一个捕获组中找到字符串

例如,您可以阅读有关 C# 正则表达式的更多信息 here

正如其他人所提到的,您选择的文件格式并不很好,但是根据您的决定,您可以做这样的事情。未经测试,但我会留给您解决我的任何错误、忽略空格或空行、想出更有效的解决方案等。

string[] lines = File.ReadAllLines("file.txt"); //read file content 
int index = lines.IndexOf("[ASSETS]");//get index of assets tag
var assets = new List<string>(); // create variable to store asset lines
while (index != -1 && ++index < lines.Length && !lines[index].StartsWith("[")) // as long as we had found the assets tag, the next line exists, and the next line isn't a tag (presumably only lines that start with [ are tag lines...) then add the next line to your assets list
{
    assets.Add(lines[index]);
}
Console.WriteLine(string.Join(Environment.NewLine, assets)); // demonstrate successful asset collection