Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用C查找文本文件中匹配的数字和字符串#_C#_System.io.file - Fatal编程技术网

C# 如何使用C查找文本文件中匹配的数字和字符串#

C# 如何使用C查找文本文件中匹配的数字和字符串#,c#,system.io.file,C#,System.io.file,我正在尝试从引号“”内的文本文件中读取字符串,引号“”是一个文件路径。如果行包含“SSiJobPage:”,并且如果它与旁边的数字匹配。例如,如果该行包含“SSiJobPage:8”,则转到“SSiJobFileRef:8”所在的行,并获取其旁边的文件路径,即“C:\folderName\012M032.filename.p1.pdf”。此外,它将一直运行,直到找到所有的“SSiJobPage:”我如何在C#中实现这一点 非常感谢 >%SSiJobFileRef: 2 'C:\folder

我正在尝试从引号“”内的文本文件中读取字符串,引号“”是一个文件路径。如果行包含“SSiJobPage:”,并且如果它与旁边的数字匹配。例如,如果该行包含“SSiJobPage:8”,则转到“SSiJobFileRef:8”所在的行,并获取其旁边的文件路径,即“C:\folderName\012M032.filename.p1.pdf”。此外,它将一直运行,直到找到所有的“SSiJobPage:”我如何在C#中实现这一点

非常感谢

>%SSiJobFileRef: 2 'C:\folderName\210C001-3.filename.p1.pdf' 2 -1 0 0.00000 
        >%SSiJobFileRef: 3 'C:\folderName\210C001-3.filename.p2.pdf' 3 -1 0 0.00000  
        >%SSiJobFileRef: 4 'C:\folderName\210C001-3.filename.p3.pdf' 4 -1 0 0.00000 
        >%SSiJobFileRef: 5 'C:\folderName\210C001-3.filename.p4.pdf' 5 -1 0 0.00000 
        >%SSiJobFileRef: 6 'C:\folderName\210C001-3.filename.p5.pdf' 6 -1 0 0.00000
        >%SSiJobFileRef: 7 'C:\folderName\210C001-3.filename.p6.pdf' 7 -1 0 0.00000  
        >%SSiJobFileRef: 8 'C:\folderName\012M032.filename.p1.pdf' 8 -1 0 0.00000 
        >%SSiJobFileRef: 9 'C:\folderName\002M052.filename.p1.pdf' 9 -1 0 0.00000 
        >%SSiJobFileRef: 10 'C:\folderName\012M042.filename.p1.pdf' 10 -1 0 0.00000  
        >%SSiJobFileRef: 11 'C:\folderName\002W000.filename.p1.pdf' 11 -1 0 0.00000  
        >%SSiJobFileRef: 12 'C:\folderName\012B000.filename.p1.pdf' 12 -1 0 0.00000 
        >%SSiJobFileRef: 13 'C:\folderName\002W100.filename.p1.pdf' 13 -1 0 0.00000 
        >
        >%SSiJobPage: 8 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 9 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 10 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 2 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 3 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 11 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 12 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 4 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 5 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 13 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 14 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 6 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 7 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 15 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 16 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 17 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 8 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 21 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 10 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 
        >%SSiJobPage: 18 1 0.00000 0.00000 1.00000 1.00000 3 0.00000 0.00000 '' 0 

也许是这样的:

public class SSiJob
{
    public int id { get; set; }
    public string path { get; set; }
    public bool matched { get; set; }
}

        List<SSiJob> jobs = new List<SSiJob>();

        using (StreamReader sr = new StreamReader(@"D:\CYA\Test2.txt"))
        {
            string stringy;
            while ((stringy = sr.ReadLine()) != null)
            {
                string[] words = stringy.TrimStart().Split(' ');
                if (words[0] == ">%SSiJobFileRef:")
                {
                   jobs.Add(new SSiJob { id = Convert.ToInt32(words[1]), path = words[2] });

                }
                else if (words[0] == ">%SSiJobPage:")
                {
                    var check = jobs.Where(a => a.id == Convert.ToInt32(words[1])).FirstOrDefault();
                    if(check != null)
                    {
                        check.matched= true;
                    }
                }
            }
            jobs.RemoveAll(a => a.matched == false);
        }
公共类作业
{
公共int id{get;set;}
公共字符串路径{get;set;}
公共布尔匹配{get;set;}
}
列表作业=新列表();
使用(StreamReader sr=newstreamreader(@“D:\CYA\Test2.txt”))
{
细绳;
while((stringy=sr.ReadLine())!=null)
{
string[]words=stringy.TrimStart().Split(“”);
如果(字[0]==“>%SSiJobFileRef:”)
{
jobs.Add(新的SSiJob{id=Convert.ToInt32(words[1]),path=words[2]});
}
else if(单词[0]==”>%SSiJobPage:)
{
var check=jobs.Where(a=>a.id==Convert.ToInt32(words[1])).FirstOrDefault();
如果(检查!=null)
{
check.matched=true;
}
}
}
jobs.RemoveAll(a=>a.matched==false);
}

如果您没有任何答案,请不要发表评论。