我的字符串看起来像
string1 =“~01301~ ^ ~DATA1,DATA2 DATA3~ ^ 15.87 ^ 717 ^ 0.85 ^ 81.11 ^ 2.11 ^ 0.06 ^ 0”
string2 =“~01341~ ^ ~DATA3,DATA2 DATA1 DATA4~ ^ 15.87 ^ 717 ^ 0.85 ^ 81.11 ^ 2.11 ^ 0.06 ^ 0”
string3 =“~01347~ ^ ~DATA1 DATA2,DATA3~ ^ 15.87 ^ 717 ^ 0.85 ^ 81.11 ^ 2.11 ^ 0.06 ^ 0”
等等。
在这些字符串中,我需要找到哪些字符串包含让我们说“DATA1”子字符串。在C#中,contains - indexOf - lastIndexOf方法在string1中找不到DATA1,但它们都在string2和string3中找到DATA1。
这可能是什么原因?第一个DATA1用波浪号和逗号包围,但我想这些不应该影响或者我错了吗?
编辑: 代码的相关部分是微不足道的,这就是我没有发布它的原因。但仍然是代码的相关部分:
while((line = isoFileReader.ReadLine())!=null)
{
if (line.IndexOf(input)!=-1)
{
matchList.Add(line);
}
}
或
while((line = isoFileReader.ReadLine())!=null)
{
if (line.Contains(input))
{
matchList.Add(line);
}
}
答案 0 :(得分:2)
拨打电话时很可能是一个问题。 string1.Contains( “DATA1”);将为您指定的字符串返回true。
包含区分大小写,因此您可能不小心输入了其中一个字母的错误大小写,或者在之前/之后添加了空格。