如何解析此输出并分隔每个字段/单词

时间:2009-11-19 04:46:02

标签: java

这是Akshatha。我一直在解析以下数据。我想单独取出每个单词。我可以提供示例代码,以便我可以继续吗

 RTRV-HDR   RH01 


   SIMULATOR 09-11-18 16 13 19


M  RH01 COMPLD


 RTRV-EQPT  ALL RE01 


   SIMULATOR 09-11-18 16 13 20


M  RE01 COMPLD


   SLOT-1-1-1 CMP IS-NR


   SLOT-1-1-2 CMP IS-NR


   SLOT-1-1-3 OLC IS-NR


   SLOT-1-1-4 OLC IS-NR


   SLOT-1-1-5 OLC IS-NR


   SLOT-1-1-6 OLC IS-NR


   SLOT-1-1-7 OLC IS-NR


   SLOT-1-1-8 OLC IS-NR


   SLOT-1-1-9 IOC IS-NR


   SLOT-1-1-10 IOC IS-NR


   SLOT-1-2-1 NMC IS-NR


   SLOT-1-2-2 NMC IS-NR


   SLOT-1-2-3 OLC IS-NR


   SLOT-1-2-4 OLC IS-NR


   SLOT-1-2-5 OLC IS-NR


   SLOT-1-2-6 OLC IS-NR


   SLOT-1-2-7 OLC IS-NR


   SLOT-1-2-8 OLC IS-NR


 RTRV-ALM-EQPT  ALL RA01 


   SIMULATOR 09-11-18 16 13 21


M  RA01 COMPLD


   SLOT-1-1-1 CMP MN T-FANCURRENT-1-HIGH NSA 01-10-09 00-00-00   \Fan-T\ 


   SLOT-1-1-1 CMP MJ T-BATTERYPWR-2-LOW NSA 01-10-09 00-00-00   \Battery-T\ 


   SLOT-1-1-2 CMP CR PROC_FAIL SA 09-11-18 16-12-59   \Processor Failure\ 


   SLOT-1-1-3 OLC MN T-LASERCURR-1-HIGH SA  01-10-07 13-21-03   \Laser-T\ 


   SLOT-1-1-3 OLC MJ T-LASERCURR-2-LOW NSA  01-10-02 21-32-11   \ Laser-T\ 


   SLOT-1-1-4 OLC MN T-LASERCURR-1-HIGH SA 01-10-05 02-14-03   \Laser-T\ 


   SLOT-1-1-4 OLC MJ T-LASERCURR-2-LOW NSA 01-10-04 01-03-02   \Laser-T\ 


 RTRV-ALM-EQPT  ALL RA02  MJ  

   SIMULATOR 09-11-18 16 13 21


M  RA02 COMPLD


   SLOT-1-1-1 CMP MJ T-BATTERYPWR-2-LOW NSA 01-10-09 00-00-00   \Battery-T\ 


   SLOT-1-1-3 OLC MJ T-LASERCURR-2-LOW NSA  01-10-02 21-32-11   \ Laser-T\ 


   SLOT-1-1-4 OLC MJ T-LASERCURR-2-LOW NSA 01-10-04 01-03-02   \Laser-T\ 


 RTRV-ALM-EQPT  ALL RA03  MN  


   SIMULATOR 09-11-18 16 13 22


M  RA03 COMPLD


   SLOT-1-1-1 CMP MN T-FANCURRENT-1-HIGH NSA 01-10-09 00-00-00   \Fan-T\ 


   SLOT-1-1-3 OLC MN T-LASERCURR-1-HIGH SA  01-10-07 13-21-03   \Laser-T\ 


   SLOT-1-1-4 OLC MN T-LASERCURR-1-HIGH SA 01-10-05 02-14-03   \Laser-T\ 


 RTRV-ALM-EQPT  ALL RA04  MN T-LASERCURR-1-HIGH 


   SIMULATOR 09-11-18 16 13 22


M  RA04 COMPLD


   SLOT-1-1-3 OLC MN T-LASERCURR-1-HIGH SA  01-10-07 13-21-03   \Laser-T\ 


   SLOT-1-1-4 OLC MN T-LASERCURR-1-HIGH SA 01-10-05 02-14-03   \Laser-T\ 


 RTRV-PM-EQPT  ALL RP01 


   SIMULATOR 09-11-18 16 13 23


M  RP01 COMPLD


   SLOT-1-1-1 CMP FANCURRENT-1 180.080     


   SLOT-1-1-1 CMP FANCURRENT-2 204.660     


   SLOT-1-1-1 CMP FANCURRENT-3 230.500     


   SLOT-1-1-1 CMP FANCURRENT-4 187.580     


   SLOT-1-1-1 CMP BATTERYPWR-1 53.650     


   SLOT-1-1-1 CMP BATTERYPWR-2 53.650     


   SLOT-1-1-2 CMP FANCURRENT-1 180.080     


   SLOT-1-1-2 CMP FANCURRENT-2 204.660     


   SLOT-1-1-2 CMP FANCURRENT-3 230.500     


   SLOT-1-1-2 CMP FANCURRENT-4 187.580     


   SLOT-1-1-2 CMP BATTERYPWR-1 53.650     


   SLOT-1-1-2 CMP BATTERYPWR-2 53.650     


   SLOT-1-1-3 OLC LASERPWR-1 200.00     


   SLOT-1-1-3 OLC LASERPWR-2 200.00     


   SLOT-1-1-4 OLC LASERPWR-1 200.00     


   SLOT-1-1-4 OLC LASERPWR-2 200.00     


   SLOT-1-1-5 OLC LASERPWR-1 200.00     


   SLOT-1-1-5 OLC LASERPWR-2 200.00     


   SLOT-1-1-6 OLC LASERPWR-1 200.00     


   SLOT-1-1-6 OLC LASERPWR-2 200.00     


   SLOT-1-1-7 OLC LASERPWR-1 200.00     


   SLOT-1-1-7 OLC LASERPWR-2 200.00     


   SLOT-1-1-8 OLC LASERPWR-1 200.00     


   SLOT-1-1-8 OLC LASERPWR-2 200.00     


   SLOT-1-2-3 OLC LASERPWR-1 200.00     


   SLOT-1-2-3 OLC LASERPWR-2 200.00     


   SLOT-1-2-4 OLC LASERPWR-1 200.00     


   SLOT-1-2-4 OLC LASERPWR-2 200.00     


   SLOT-1-2-5 OLC LASERPWR-1 200.00     


   SLOT-1-2-5 OLC LASERPWR-2 200.00     


   SLOT-1-2-6 OLC LASERPWR-1 200.00     


   SLOT-1-2-6 OLC LASERPWR-2 200.00     


   SLOT-1-2-7 OLC LASERPWR-1 200.00     


   SLOT-1-2-7 OLC LASERPWR-2 200.00     


   SLOT-1-2-8 OLC LASERPWR-1 200.00     


   SLOT-1-2-8 OLC LASERPWR-2 200.00     


  INIT-SYS  SLOT-1-1-2 IS01  1 


   SIMULATOR 09-11-18 16 13 23


M  IS01 COMPLD

感谢您的宝贵回复。

3 个答案:

答案 0 :(得分:2)

我会尝试String.split()。这样的事情......
String [] words;
words = line.split("\s+");

以上将字符串拆分为空格。

答案 1 :(得分:1)

使用BufferedReader读取您的文件(或输入流)thusly

然后使用StringTokenizer将每一行拆分为令牌thisly

我不是在这里提供一个现成的代码,因为我认为你可以通过将上面的例子自己组合成一个可用的代码来更好地学习。

答案 2 :(得分:1)

如何使用Stringtokenizer来获取每个单词?

import java.util.*;
public class ReverseWords {
    public static void main( String args[] ) {
        String s = "Go to the main menu. Quick!";
        StringTokenizer tokens = new StringTokenizer(s);
        StringBuffer ab;

        while (tokens.hasMoreTokens()){
            ab = new StringBuffer (tokens.nextToken());
            // do your processing
        }
        System.out.println();
    }
}