How to parse this output and separate each field/word
This is Akshatha. I'm stuck in parsing the following data. I want to fetch each word individually. Can I have a sample code so that I can proceed
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 S开发者_运维百科A 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
Thanks for ur valuable replies.
I would try String.split(). Something like this...
String [] words;
words = line.split("\s+");
The above splits the string on whitespace.
Use BufferedReader
to read your file (or input stream) thusly.
Then use StringTokenizer
to split each line into tokens thisly
I'm not providing a ready-to-use code here because I think you'd learn better by combining the above examples into a working code yourself.
How about using a Stringtokenizer to fetch each word?
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();
}
}
精彩评论