2009-11-19 4 views
2

이것은 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 

귀중한 답장을 보내 주셔서 감사합니다.

+0

그래서 이전에 지내던 모든 쓰레기를 피할 수있었습니다. ;) –

답변

2

String.split()을 시도 할 것입니다. 이게 뭔가 ...
String [] words;
words = line.split("\s+");

위의 코드는 공백에 문자열을 분할합니다.

1

파일 (또는 입력 스트림) thusly을 읽으려면 BufferedReader을 사용하십시오.

다음 토큰 thisly

난 당신이 작동하는 코드를 직접으로 위의 예를 결합하여 더 나은 배울 거라고 생각하기 때문에 내가 여기에 바로 사용할 수있는 코드를 제공하고 있지 않다으로 각 라인을 분할 StringTokenizer를 사용합니다.

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(); 
    } 
} 
+0

루프 내부에서 StringBuffer를 사용하는 것에 대해 궁금해 할 때 ... 표면에 관계없는 것으로 보인다. 아마 원래 코드에서 보류? – PSpeed

+0

@PSpeed ​​처리가 많은 문자열 집계가 포함 된 것은 원래 코드에서 비롯된 것입니다. – VonC

관련 문제