当前位置: 首页 > 知识库问答 >
问题:

Java:从显示ArrayList的字符串缓冲区中删除括号和逗号

糜野
2023-03-14

假设目前我有一个ArrayList,我想在我的java程序中显示它。

我有一个像这样的字符串缓冲区:

public String toString() {
    StringBuffer text = new StringBuffer();
    text.append("First name: ");
    text.append(firstname);
    text.append("   ");
    text.append("Last name: ");
    text.append(lastname);

    //to give each result it's own line
    text.append(System.getProperty("line.separator"));

    return text.toString();
}

此处调用了该方法:

NameDaoImpl name1 = new NameDaoImpl();
        Collection<NameBean> names = name1.getNames();
        System.out.println(betriebe);

getNames()方法是一个准备语句,它遍历所有找到的结果并返回它们。

它给了我这样的结果:

[First name: firstname1   Last name: lastname1
, First name: firstname2   Last name: lastname2
, First name: firstname3   Last name: lastname3
]

但我希望它不带括号和逗号。我该怎么做呢?我尝试了replace和replaceall方法,但它们总是给我这样的错误:

return text.toString().replaceAll("[","").replaceAll("]","").replaceAll(",", "");

我总是得到以下错误:

线程“AWT-EventQueue-0”java.util.regex中出现异常。PatternSyntaxException:索引0附近的未关闭字符类[

我用错方法了吗?我应该使用不同的一个还是错误在别的地方?

共有2个答案

聂翼
2023-03-14

如果您希望打印它们时不使用括号和逗号,不要直接在集合中调用< code>toString():这就是插入它们的原因:

for (NameBean name : name1.getNames()) {
  System.out.print(name);
}

或者,如果您希望它在字符串中:

StringBuilder sb = new StringBuilder();
for (NameBean name : name1.getNames()) {
  sb.append(name);
}
String str = sb.toString();
丁承德
2023-03-14

您的< code>toString()函数本身非常好。它不包含括号;-)

括号由 ArrayListtoString() 方法发出。你可以用StringBuilder和循环列表来代替它。

顺便说一句,你可以使用StringBuilder而不是StringBuffer。此处无需同步。

 类似资料:
  • 问题内容: 如何从同一字符串中删除美元符号($)和所有逗号(,)?避免使用正则表达式会更好吗? 问题答案: 像这样 输出

  • 我试图写一个程序,读取一串文本,并打印文本中的所有直方图及其频率。 输入示例: 相应的输出: 当我尝试这个示例输入时,它输出 我该如何修复它,使它不会有括号和逗号?

  • 问题内容: 在PHP中,我有一个包含所有字符串的变量数组。存储的某些值是带逗号的数字字符串。 我需要的: 一种从字符串中修剪逗号的方法,并且仅对数字字符串执行此操作。这并不像看起来那样简单。主要原因是以下操作失败: 失败是因为是数字。但不是数字。因为我得到的某些字符串将是带逗号的常规句子,所以我无法对每个字符串都执行字符串替换。 问题答案: 未经测试,但可能类似

  • 问题内容: 我从数据库中得到了String,它有多个逗号()。我想删除 最后一个逗号, 但实际上找不到一种简单的方法。 我有的: 我想要的是: 问题答案: 要删除紧随字符串结尾的部分,您可以执行以下操作: 相对于/ solution,它需要对此类情况进行特殊处理,这可以优雅地处理空列表(空字符串)。 示例代码: 注意: 由于存在有关零件的一些注释和建议的编辑:表达式应与要删除的尾部零件匹配。 如果

  • 问题内容: 我想使用Java删除字符串中所有类型的方括号字符(例如:[],(),{})。 我尝试使用此代码: 但这不起作用,请帮助我。 问题答案: 要删除 _ 所有标点符号_ ,包括所有方括号,大括号和方括号…,按问题是:

  • 问题内容: 如何从字符串中删除变音符号? 例如,转换适用于所有语言的所有á-> a,č-> c等。 我正在进行全文搜索,因此需要忽略搜索文字的任何变音符号。 谢谢 问题答案: 使用9级以上的API,您可以使用Normalizer类,例如 (Keysers链接的答案看起来更好,它可以清除更多废话) 这将返回。