У меня есть строки, которые выглядят как
string1 = "~01301~^~ДАННЫЕ1,ДАННЫЕ2 ДАННЫЕ3~^15,87^717^0,85^81,11^2,11^0,06^0"
string2 = "~01341~^~ДАННЫЕ3,ДАННЫЕ2 ДАННЫЕ1 ДАННЫЕ4~^15,87^717^0,85^81,11^2,11^0,06^0"
string3 = "~01347~^~ДАННЫЕ1 ДАННЫЕ2,ДАННЫЕ3~^15,87^717^0,85^81,11^2,11^0,06^0"
и так далее.
Из этих строк мне нужно найти, какие строки содержат, скажем, подстроку «DATA1». В C# методы contains - indexOf - lastIndexOf не могут найти DATA1 в строке1, но все они находят DATA1 в строке2 и строке3.
Что может быть причиной этого? Сначала DATA1 окружен тильдой и запятой, но я думаю, что это не должно влиять, или я ошибаюсь?
РЕДАКТИРОВАТЬ: соответствующая часть кода тривиальна, поэтому я ее не публиковал. Но все же вот соответствующая часть кода:
while((line = isoFileReader.ReadLine())!=null)
{
if (line.IndexOf(input)!=-1)
{
matchList.Add(line);
}
}
or
while((line = isoFileReader.ReadLine())!=null)
{
if (line.Contains(input))
{
matchList.Add(line);
}
}