Java程序从行中删除换行符

标签 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

下面是我到目前为止编写的代码。我正在使用“继续”根据每行中预期“,”的计数删除不良记录。但是,我想将“\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;    
}

最佳答案

如果每行始终只有三个元素,请尝试拆分 \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]);
}

关于Java程序从行中删除换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51367665/

相关文章:

java - 在 java 构造函数中实例化二维数组?

lua - corona sdk 在创建线路时出错

c - 如何在不转到下一行的情况下在 C 中使用 printf() 和 scanf()?

java - 如何识别偏好 Activity 中的偏好

java - Java中轮询时的Thread.sleep或yield

ios - NSLocalizedString 数组

objective-c - 订购数组以获得最佳饼图显示(将小值分开)

Java POJO 到 JSON 的转换工具?

java - Ansible:更改目录权限问题

c - 如果从文件输入中获取,为什么不\n 生成一个新行字符?