我试图搜索文件,看看是否有任何行包含单词Description1,并且如果在该特定行的某处,两个引号彼此直接出现。

我找到了删除或替换它们的各种方法,但我想保留它们。

foreach (var line in File.ReadLines(FileName))
   {
    if (line.Contains ("Description1") )
       {
        MessageBox.Show ("Description1 found");

           if (line.Contains (@"""") )
              {
               MessageBox.Show ("ERROR! Empty Description1 found.");
              }
        }
}


搜索的文件与此类似

propertyDescriptor =“ 22004” PropertyName =“ Description1” PropertyType =“ Part” PropertyValue =“ Cat”
propertyDescriptor =“ 22004” PropertyName =“ Description1” PropertyType =“ Part” PropertyValue =“”
propertyDescriptor =“ 22006” PropertyName =“ Description2” PropertyType =“ Part” PropertyValue =“”


错误检查仅应在存在Description1和两个双引号的第二行上检测到错误。

我的问题是,文本Description1的每个实例都出现错误。

有什么好主意吗?

提前致谢。

最佳答案

使用line.Contains("\"\"")代替line.Contains(@""""),因为line.Contains(@"""")将搜索“ not”。

替换为您的代码:

foreach (var line in File.ReadLines(FileName))
{
    if (line.Contains ("Description1") )
    {
        MessageBox.Show ("Description1 found");

        if (line.Contains ("\"\"") )
        {
            MessageBox.Show ("ERROR! Empty Description1 found.");
        }
    }
}

09-20 18:51