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

如何删除字符串串联中的最后一个“&”?

蔚和安
2023-03-14

我将在main方法中这样做,首先实例化该类的一个对象,即。

VeggiesAndFruits myVeg1 = new VeggiesAndFruits(AB);
VeggiesAndFruits myVeg2 = new VeggiesAndFruits(A);
System.out.println(myVeg1.getDescription());
System.out.println(myVeg2.getDescription());

代码示例:

public class VeggiesAndFruits
{
String line;

public VeggiesAndFruits(String line)
{
this.line = line;
}

public String getDescription()
    {
        String description = "";

        if(line.contains("A"))
        {
            description += "Apple & ";
        }
        if(line.contains("B"))
        {
            description += "Banana & ";
        }
        if(line.contains("C"))
        {
            description += "Carrot & ";

        return description;
}
}

共有1个答案

罗金林
2023-03-14

如果使用Java8+,我建议在这里使用StringJoiner。正如Javadoc所说的,stringjoiner用于构造由分隔符分隔的字符序列。比如,

public String getDescription() {
    StringJoiner sj = new StringJoiner(" & ");

    if (line.contains("A")) {
        sj.add("Apple");
    }
    if (line.contains("B")) {
        sj.add("Banana");
    }
    if (line.contains("C")) {
        sj.add("Carrot");
    }
    return sj.toString();
}

在Java(5+)的早期版本中,您可以使用StringBuilder(和kaya3提到的“glue”)。

public String getDescription() {
    StringBuilder sb = new StringBuilder();
    String glue = "";
    if (line.contains("A")) {
        sb.append("Apple");
        glue = " & ";
    }
    if (line.contains("B")) {
        sb.append(glue);
        sb.append("Banana");
        glue = " & ";
    }
    if (line.contains("C")) {
        sb.append(glue);
        sb.append("Carrot");
    }
    return sb.toString();
}

在Java5之前,您可以使用StringBuffer

public String getDescription() {
    StringBuffer sb = new StringBuffer();
    String glue = "";
    if (line.contains("A")) {
        sb.append("Apple");
        glue = " & ";
    }
    if (line.contains("B")) {
        sb.append(glue);
        sb.append("Banana");
        glue = " & ";
    }
    if (line.contains("C")) {
        sb.append(glue);
        sb.append("Carrot");
    }
    return sb.toString();
}
 类似资料:
  • 问题内容: 我想删除字符串的最后一个字符,但在此之前,我想检查最后一个字符是否为“ +”。如何才能做到这一点? 问题答案: 这是删除尾随加号的几种方法。 输出:

  • 问题内容: 从字符串中删除最后一个字符的最快方法是什么? 我有一个像 我想删除最后一个’,’并取回剩下的字符串: 最快的方法是什么? 问题答案: 首先,我尝试没有空格,并得到一个错误结果。 然后,我添加一个空格并获得良好的结果:

  • 如何从IronPyhon中的字符串中删除最后一个字符? 我正在寻找子字符串方法或类似的方法。

  • 问题内容: 我已经在SOAP消息中工作过,以从Web服务获取LoginToken,并将LoginToken存储在String中并用于打印。此打印[wdsd34svdf],但我只想wdsd34svdf,如何删除方括号。请任何人帮助我。 谢谢 例: 输出:[wdsd34svdf]我想要wdsd34svdf 问题答案: 这很容易,您需要先找到[和]的索引,然后再找到子字符串。(这里[总是在开始处,]在结

  • 假设我的字符串是10个字符长。 如何删除最后一个字符? 如果我的字符串是(我不想替换字符,因为我的字符串可能包含多个字符),我只想删除最后一个字符。不管它是什么或者它发生了多少次,我都需要从我的字符串中移除最后一个字符。