21. august 2003 - 21:48
Der er
7 kommentarer og 1 løsning
opdeling af en tekststreng
192.168.17.2:80 212.242.228.124:80 0 0x00041 tcp eth0 wan0-0 nogen idé'er til hvordan jeg får formateret ovenstående til 192.168.17.2:80 212.242.228.124:80 0 0x00041 tcp eth0 wan0-0 så jeg kan bruge split( " " ); på den Eller måske en anden måde der giver samme resultat som split?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
21. august 2003 - 21:49
#1
formatet af linien kan godt være anderledes...så det skal være rimelig dynamisk mht. fjernelse af de ekstra mellemrum
21. august 2003 - 21:51
#2
StringTokenizer
21. august 2003 - 21:54
#3
import java.util.StringTokenizer; public class Split { public static void main(String[] args) { String s = "192.168.17.2:80 212.242.228.124:80 0 0x00041 tcp eth0 wan0-0"; StringTokenizer st = new StringTokenizer(s, " "); while(st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
21. august 2003 - 21:56
#4
hmm..gik ud fra den virkede ligesom split...tak for det.
21. august 2003 - 22:02
#5
Nej den er faktisk noget anderledes. Den returnerer aldrig tomme tokens. Og hvis du angiver " ," som token seperator så søger den ikke efter den streng men efter bare en af de tegn d.v.s. at "a b,c" giver 3 tokens "a", "b" og "c".
21. august 2003 - 22:04
#6
ok, tror lige jeg vil læse lidt om den
21. august 2003 - 22:07
#7
Man kan iøvrigt bede den returnere delimeters. Men det har jeg aldrig brugt. Og StringTokenizer er en af de klasser jeg bruger rigtigt meget. Men det hænger muligvis lidt sammen med at String split er ny i 1.4 ...
21. august 2003 - 22:10
#8
hvis jeg siger split( " " ); er der også en masse tomme indexes
Kurser inden for grundlæggende programmering