title: Reading Multi-Lines from a Text File
body: <p>I'm trying to read multi-lines in a text file. It looks like this:</p>
  
  <pre><code>#############################################
  B_ATTR 'MILLING_ORIGIN' 'MILLING 0 0.0 0'  3.635 0.405
  B_ATTR 'DRILL_ORIGIN' ''  0.0 0.0
  B_ATTR 'BOARD_ROUTING_OUTLINE' ''  0.0192 0.0885 0.0862 0.0215 3.84915 0.0215 - 
  3.9162 0.0885 3.9162 0.7018 3.8491 0.7689 3.6793 0.7689 3.65335 0.7715 3.6274 0.77935 - 
  3.60355 0.7921 3.5826 0.8093 3.5654 0.83025 3.55265 0.8541 3.5448 0.88 3.5422 0.906 - 
  3.5422 5.62345 3.54335 5.6408 3.54685 5.6585 3.55265 5.67565 3.56065 5.69185 3.57065 5.7069 - 
  3.58255 5.7205 3.59615 5.73245 3.61065 5.7421 3.9162 5.91855 3.9162 6.2136 3.8491 6.2807 - 
  0.0862 6.2807 0.0192 6.21365 0.0192 5.91855 0.32465 5.7421 0.33915 5.7324 0.3527 5.72045 - 
  0.36465 5.7069 0.3747 5.6919 0.3827 5.67565 0.3885 5.65855 0.39205 5.64085 0.3932 5.62345 - 
  0.3932 0.906 0.3906 0.88 0.38275 0.8541 0.37 0.83025 0.3528 0.8093 0.33185 0.7921 - 
  0.308 0.77935 0.28205 0.7715 0.2561 0.7689 0.0862 0.7689 0.0192 0.7018
  B_ATTR 'BOARD_PLACEMENT_OUTLINE' ''  0.0192 0.0885 0.0862 0.0215 3.84915 0.0215 - 
  3.9162 0.0885 3.9162 0.7018 3.8491 0.7689 3.6793 0.7689 3.65335 0.7715 3.6274 0.77935 - 
  3.60355 0.7921 3.5826 0.8093 3.5654 0.83025 3.55265 0.8541 3.5448 0.88 3.5422 0.906 - 
  3.5422 5.62345 3.54335 5.6408 3.54685 5.6585 3.55265 5.67565 3.56065 5.69185 3
  </code></pre>
  
  <p>Reading will start with the line that starts with "B_ATTR 'BOARD_ROUTING_OUTLINE'" and end with the line that starts with "B_ATTR 'BOARD_PLACEMENT_OUTLINE'". I wrote this code but it doesn't work. I can't get rid of some spaces.</p>
  
  <pre><code>StreamReader reader = new StreamReader("neutral.txt");
  
          string lines = reader.ReadToEnd(); //Reading all lines.
  
          //Takes the lines I want.
          lines = lines.Substring(lines.IndexOf("B_ATTR 'BOARD_ROUTING_OUTLINE'"), lines.IndexOf("B_ATTR 'BOARD_PLACEMENT_OUTLINE'") - lines.IndexOf("B_ATTR 'BOARD_ROUTING_OUTLINE'"));
  
          //if the line contains "-" , replaces with " "(space).
          while (lines.Contains("-"))
              lines = Regex.Replace(lines, @"\-", " ");
  
          //if the line contains "  "(two spaces), replaces with " "(one space).
          while (lines.Contains("  "))
              lines = Regex.Replace(lines, @"\  ", " ");
  
          string[] items = lines.Split(' ');
  
          List&lt;string&gt; list = new List&lt;string&gt;();
  
          //Places all of the elements of items to list.
          foreach (var element in items)
              list.Add(element);
  
  
          //if the list contains any space , removes it.
          while (list.Contains(" "))
              list.Remove(" ");
  
  
          //Removes the elements I don't want.
          list.Remove("B_ATTR");
          list.Remove("'BOARD_ROUTING_OUTLINE'");
          list.Remove("''");
          list.Remove("B_ATTR");
          list.Remove("'BOARD_PLACEMENT_OUTLINE'");           
  
          string[,] array = new string[50, 2];
  
          string[] array2 = list.ToArray(); //Turns the list to array.
  
          int counter = 0;
  
  
          //Makes a rectangular array with 50 rows and 2 columns.
          for (int a = 0; a &lt; 50; a++)
              for (int b = 0; b &lt; 2; b++)
              {
                  array[a, b] = array2[counter];
                  counter++;                    
              }
  </code></pre>
  
  <p>I actually used regex to get rid of spaces but I can't eliminate the spaces between the lines and those spaces taking place into the array.</p>
  
  <p>Do you have any advice? Am I doing it wrong?</p>