我无法删除出现在行中的新行字符。
我的输入是:
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;
}
答案 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()一样正确地循环循环
希望对您有帮助。