Java程序从行中删除新行字符

时间:2018-07-16 18:00:31

标签: java arrays newline

我无法删除出现在行中的新行字符。

我的输入是:

1,john,a

2,smith,b

3,mike

,c

4,clark,d

我的输出应为:

1,john,a

2,smith,b

3,mike,c

4,clark,d

下面是我到目前为止编写的代码。我正在使用“ continue”根据每行中预期的“,”计数删除不良记录。但是,我想将“ \ n”错误存在的行与下一行连接起来以获取该行,而不是将其删除为不良记录。

String test="1,john,a\n2,smith,b\n3,mike\n,c\n4,clark,d";

String[] test2=test.split("\n");

int count=0;
String s="";
for(int i=0;i<=test2.length-1;i++)
{
    for(int j=0;j<test2[i].length();j++) {
        char c= test2[i].charAt(j);
        if(c==',') {
           count++;
           if(count<2) {
              continue;
           }
           System.out.println(test2[i]);
        }
    }
    count=0;    
}

3 个答案:

答案 0 :(得分:4)

如果每行总是只有三个元素,请尝试同时在\n,上拆分,然后将三个元素合并为一行。

String test="1,john,a\n2,smith,b\n3,mike\n,c\n4,clark,d";

String[] test2=test.split("[\n,]+");

for(int i=0;i<test2.length;i+=3)
{
   System.out.println(test2[i]+","+test2[i+1]+","+test2[i+2]);
}

答案 1 :(得分:-1)

String test="1,john,a\n2,smith,b\n3,mike\n,c\n4,clark,d";

String[] test2=test.split("\n");

int count=0;
String s="";
for(int i=0;i<=test2.length-1;i++)
{
   String[] temp=test2[i].split(",");
   if(temp.length!=3){
     s=s+test2[i]+test2[i+1]+"\n";
     i++;
   }
else{
    s=s+temp[0]+","+temp[1]+","+temp[2]+"\n";
   }
}
 System.out.println(s);

答案 2 :(得分:-1)

我尝试过:

字符串s =“ a,b,c \ n”;

while(s != null){ <<<<<-------Use the while condition as per your use case

    String[] var = s.split("\n");

    System.out.println(var[0]);
}

,它显示所需的结果。您可以类似地拆分文件的所有行,并获得所需的输出。

输出:a,b,c

确保像buffer.readLine()一样正确地循环循环

希望对您有帮助。