Java删除最后一个字符串

标签 java stringbuilder

我有不同类型的名字。喜欢

ABC BCD, EFG HGF, HGF HJK

我想用"and"替换最后的,。所以,格式将是这样的

ABC BCD, EFG HGF & HGF HJK

我试过这个

names = "Jon Benda, Jon Wetchler, Thomas Leibig "
StringBuilder sbd = new StringBuilder();
String[] n = getNames.split("\\s+");
System.out.println(n.length);
for (int i = 0; i < n.length; i++) {
    sbd.append(n[i]);
    System.out.print(n[i]);
    if (i < n.length - 3)
        sbd.append(" ");
    else if (i < n.length - 2)
        sbd.append(" & ");
}
System.out.print("\n");
System.out.print(sbd);

最佳答案

为什么要把它复杂化?您可以使用 String#lastIndexOf 搜索 , 的最后一个索引然后使用 StringBuilder#replace :

int lastIdx = names.lastIndexOf(",");
names = new StringBuilder(names).replace(lastIdx, lastIdx+1, "and").toString();

关于Java删除最后一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18096698/

相关文章:

java - java中用opencv绘制的图像直方图

java - 更改对象字段中的变量值

java - hibernate 延迟错误但我不想要这些数据

java - stringbuilder 可以容纳的最大字符数

java - 用作 StringBuilder 的 deleteCharAt() 方法参数的 double 值

c# - StringBuilder - 是否应该只使用 Append 和 AppendLine,而不在参数中组合字符串?

javascript - Ajax函数不调用Servlet

java - XML 模式验证字符串的长度

java - 如何在java中的stringBuilder对象的两侧添加单引号

java - 如何重新排列字符以使单词存在于字典中?