【问题标题】:How can I get rid of the commas and brackets in an arraylist in java?java - 如何摆脱java中arraylist中的逗号和方括号?
【发布时间】:2017-12-12 15:09:21
【问题描述】:

我试图弄清楚如何让某人输入字符串,然后让它们打印出来,在 Java 中只有一个空格分隔每个字符串。如果您还可以帮助我弄清楚如何摆脱输出中的“结束”,那也会很有帮助。这是我到目前为止的代码

            Scanner s = new Scanner (System.in);

            System.out.println("Enter the values for the first array, up to 10000 values, enter 'End' to quit");

            ArrayList<String> firstString = new ArrayList<String>();

            for(int i = 0; i <= 9999; i++)
            {
                firstString.replaceAll(String::toLowerCase);

                if(firstString.contains("end"))
                {
                    Collections.sort(firstString);

                    break;
                }
                else
                firstString.add(s.nextLine());
            }

            String firstStringOut = firstString.toString();

            firstStringOut.replace(",", "");

            System.out.println(firstStringOut);
    }
}

【问题讨论】:

  • 看起来像作业
  • 简单:不要将其转换为带有firstString.toString() 的字符串。
  • 但是如何去掉括号和逗号??
  • firstStringOut.replace(",", ""); 不会更改字符串。
  • @XtremeBaumer 非常抱歉,我的错。删除了关于 replace 和 replaceAll 的错误声明。仍然要指出要小心以Collection.toString() 开头并删除逗号。如果您的元素的 toString 表示包含逗号,则可能会导致无法预料的副作用。

标签: java arrays string arraylist


【解决方案1】:

将最后 3 行代码替换为:

    StringBuilder sb = new StringBuilder();
    for (String str : firstString) {
        if (!str.equalsIgnoreCase("end")) {
            sb.append(str);
            sb.append(" ");
        } else {
            sb.deleteCharAt(sb.lastIndexOf(" "));
        }
    }
    System.out.println(sb.toString());

它将构建一个包含您添加到列表中的所有内容的字符串,并且在打印时,它会显示以空格分隔的每个值(也忽略“end”)。

或者你只是链接替换或像这样创建一个适当的正则表达式:

firstStringOut = firstStringOut.replace(",", "").replace("[", "").replace("]", "").replace("end", "");
firstStringOut = firstStringOut.replaceAll(",|\\[|\\]|end", "");

所有方法都可以正常工作,但第一种方法最好使用 IMO。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多