如何在二进制源代码中找到特定的二进制结果?

时间:2019-08-13 12:22:06

标签: c# search binary indexof

我正在尝试在给定的二进制代码字符串中查找二进制代码。搜索的位置是N码(根据搜索参数而变化),而二进制代码的字符串是M(根据搜索参数而变化)。

例如,我确定我需要在20位长的二进制字符串110001011011010101010中找到0110。

然后,我需要将找到的代码后的其余代码推送到另一个字符串值。

我是如此新奇,我不能一个人开始学习

int counter = 0;
string line;

Console.Write("Input your search text: ");
var text = Console.ReadLine();

System.IO.StreamReader file =
    new System.IO.StreamReader("SampleInput1.txt");

while ((line = file.ReadLine()) != null)
{
    if (line.Contains(text))
    {
        break;
    }

    counter++;
}

Console.WriteLine("Line number: {0}", counter);

file.Close();

Console.ReadLine();

我不确定如何使sampleinput1.txt或其他功能正常工作,但这似乎是一个可能的途径。

1 个答案:

答案 0 :(得分:0)

您可以通过获取搜索文本的索引,然后使用该索引获取子字符串来找到该行的其余部分。参见以下示例:

int lineNumber = 0;
string line;
Console.Write("Input your search text: ");
string text = Console.ReadLine();
string otherValue = null;
using (var reader = new StreamReader("SampleInput1.txt"))
{
    while ((line = file.ReadLine()) != null)
    {
        int index = line.IndexOf(text);
        if (index > -1)
        {
            otherValue = line.Substring(index);
            break;
        }

        lineNumber++;
    }
}

if (otherValue == null)
{
    Console.WriteLine("Not found");
}
else
{
    Console.WriteLine("Line number: {0}", lineNumber);
    Console.WriteLine("Other value: '{0}'", otherValue);
}