java逐行拆分字符串\ n无法正常工作

时间:2014-03-02 18:30:27

标签: java string split

所以我有一个来自文本文件的字符串,基本上文本文件只有5行,其中包含:

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

我能够通过'='符号分离一次,但是当我尝试再次通过\ n分割字符串时没有任何作用,我尝试使用“\ r?\ n”,行.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           }

2 个答案:

答案 0 :(得分:0)

当每一行看起来像

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

你应首先在空白处拆分以获得5个部分(x=1y=15,...),然后在=获取“关键字”和“值”部分每个部分。

答案 1 :(得分: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("=")) );