2014-03-02 67 views
0

所以我有一個字符串,它是從一個文本文件,本質上是文本文件僅有5行內容如下:的Java將字符串分割一行 n沒有工作

x=1 
y=15 
z=128 
topx=100 
leftx=150 
label= this is a test 

我能夠拿到拆分一次工作,通過'='符號分開,但當我嘗試再次分割字符串\ n沒有任何作用時,我嘗試使用「\ r?\ n」,line.Separator等,但字符串值始終停留相同的,基本上5行沒有符號前的字符。我將如何取出各個行來分配變量?

這裏是我有的代碼,基本上println是試圖看看我是否可以得到第一個值'1'與其餘行分開列出。

public static void main(String[] a) { 
15 draw d = new draw(); 
16 Read r = new Read(); 
17 String m = r.doRead("variables.txt"); 
18 
19 String[] ss = new String[5]; 
20 ss = m.split("\n"); 
21 
22 String[] kv= new String[5]; 
23 for (int i=0; i<ss.length; i++) { 
24   kv = ss[i].split("="); 
25   String eol = System.getProperty("line.seperator"); 
26   String test = kv[1]; 
27   String[] split = new String[5]; 
28   split = test.split("\n"); 
29   
30   
31 
32    
33   String first = split[0]; 
34   //String second = split[1];  
35   //String third = split[2]; 
36   //String fourth = split[3]; 
37   //String fifth = split[4];  
38   System.out.println(first); 
39   } 

回答

0

當每一行看起來像

x=1 y=15 z=128 topx=100 leftx=150 label= this is a test 

你首先應該拆分在空格得到5份(x=1y=15,...),然後在=拿到「鑰匙」和每個部分的「價值」部分。

0

檢查了這一點:

String s = "x=1\ny=15\nz=128\ntopx=100\nleftx=150\nlabel= this is a test"; 
String[] ss = s.split("\n"); 
System.err.println(Arrays.asList(ss[0].split("="))); 
+0

這幫助了很多感謝你 – user3369908

+0

我很高興我可以提供幫助。請將問題標記爲已回答,以便正確關閉此問題。 – fubar