我试图搜索文件,看看是否有任何行包含单词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.");
}
}
}