如何在java中基于逗号和管道拆分String

时间:2015-10-13 06:42:44

标签: java regex

我有两个String输入,其中我有String interviewNames和时间,所以它们的格式如

interviewNames = Deep Sen,Jeet Roy 
 timing = 00:00:00, 01:30:00 | 02:00:00, 02:00:00

我希望这两个字符串格式化为

Deep Sen -- 00:00:00, 01:30:00 | Jeet Roy --02:00:00, 02:00:00

所以我用过

String formatNames [] = names.split(",");
        String formatTiming [] = timing.split("\\|");

        System.out.println("formatNames :"+formatNames.length);
        System.out.println("formatTiming :"+formatTiming.length);
        for(int i=0;i<formatNames.length;i++){
            System.out.println("formatTiming :"+formatNames[i]+","+formatTiming[i]);
        }

但它不起作用,也不符合要求,任何人都可以帮助

3 个答案:

答案 0 :(得分:1)

我认为你做的字符串拆分或多或少都没问题。 问题是如何将数据收集到输出字符串中。 我已对您的程序进行了轻微修改,并打印出您想要的输出。

    String formatNames [] = interviewNames.split(",");
    String formatTiming [] = timing.split("[|]");

    System.out.println("formatNames :"+formatNames.length);
    System.out.println("formatTiming :"+formatTiming.length);
    StringBuilder sb = new StringBuilder();
    for(int i=0;i<formatNames.length;i++){
        if (i>0) sb.append(" | ");
        sb.append(formatNames[i]+" -- "+formatTiming[i]);
    }
    System.out.println(sb.toString());

现在输出看起来像这样

Deep Sen -- 00:00:00, 01:30:00  | Jeet Roy --  02:00:00, 02:00:00

答案 1 :(得分:0)

一切都很好,只需在点下面编辑

int

答案 2 :(得分:-1)

我认为您需要更改正在将时间分为" | "的正则表达式:

String formatTiming[] = timing.split(" \\| ");

要获得所需的输出,请在for循环中使用以下内容:

System.out.println("formatTiming :" + formatNames[i] + " --" + formatTiming[i]);