求各位老大 帮帮忙  我现在有这样一个文件  内容大致如下(两个横线内的内容)——————————————————————————————————————
HEADER    VIRAL PROTEIN                           15-DEC-97   1A1R              
TITLE     HCV NS3 PROTEASE DOMAIN:NS4A PEPTIDE COMPLEX                          
COMPND    MOL_ID: 1;                                                            
COMPND   2 MOLECULE: NS3 PROTEIN;                                               
COMPND   3 CHAIN: A, B;   
...
...
ATOM      1  N   VAL A  55      94.186  42.391  51.819  1.00 32.85           N  
ATOM      2  CA  VAL A  55      92.743  42.519  51.462  1.00 30.82           C  
ATOM      3  C   VAL A  55      91.928  41.817  52.527  1.00 30.32           C  
ATOM      4  O   VAL A  55      92.271  40.715  52.954  1.00 31.39           O  
...
___________________________________________________________________文件很长 我想  “提取以ATOM开头的那一行   在VAL 和 55 中间的 那个A”有点绕口  不知道说明白没 
由于文件比较大  所以要求点速度  自己写了个 但是有点慢  不知道各位老大有啥办法 帮帮忙 谢谢了!

解决方案 »

  1.   

    ps: ATOM 和1之间的空格为4个 其余的空格为1谢了 ~
      

  2.   

    先提取以ATOM开头的行,然后再寻找VAL和55。
      

  3.   

    using System;
    using System.IO;namespace Skyiv
    {
      class Program
      {
        static void Main()
        {
          using (TextReader r = new StreamReader("input.txt"))
          {
            string s;
            while ((s = r.ReadLine()) != null)
            {
              if (s.StartsWith("ATOM"))
              {
                int m = s.IndexOf("VAL ");
                int n = s.IndexOf(" 55");
                if (m > -1 && m < n)
                {
                  Console.WriteLine(s.Substring(m+4, n-m-4));
                }
              }
            }
          }
        }
      }
    }
      

  4.   

    谢谢  不过我补充个问题 如果说文件时这样子的:—————————————————————————————————————— 
    HEADER    VIRAL PROTEIN                           15-DEC-97   1A1R               
    TITLE     HCV NS3 PROTEASE DOMAIN:NS4A PEPTIDE COMPLEX                           
    COMPND    MOL_ID: 1;                                                             
    COMPND   2 MOLECULE: NS3 PROTEIN;                                                
    COMPND   3 CHAIN: A, B;    
    ... 
    ... 
    ATOM      1  N   VAL A  55      94.186  42.391  51.819  1.00 32.85           N   
    ATOM      2  CA  VAL A  55      92.743  42.519  51.462  1.00 30.82           C   
    ATOM      3  C   VAL A  55      91.928  41.817  52.527  1.00 30.32           C   
    ATOM      4  O   VAL A  55      92.271  40.715  52.954  1.00 31.39           O 
    ATOM      5  C   ASD A  73      91.928  41.817  52.527  1.00 30.32           C   
    ATOM      6  O   GHJ A  77      92.271  40.715  52.954  1.00 31.39           O  
    ... 
    ___________________________________________________________________ 
    注意最后两行 A 的左右两侧不是固定的值 应该怎么改啊 嘿嘿  虚心求教~!