0

我想从给定的字符串中删除 1 个特定单词(“STOP”)的所有实例。我需要通过首先拆分字符串来完成此操作

这是我到目前为止所得到的:

public static String telegram(String sentence)
    {
        String[] words = sentence.split(" ");
        for(int i = 0; i < words.length; i++)
        {
            if(words[i].equals("STOP"))
            {
                ...
            }
        }

    }

我该如何去删除这些词?我尝试使用 for 循环并使用单词 null 来制作 Array 元素,但我不确定这是否可行。

我需要使用 append(String) 和 toString() 方法,但我不确定如何使用它们。

提前致谢!

4

4 回答 4

3

如果你必须用 split 方法来做这件事,你会想要这样的东西。

public static String telegram(String sentence)
{
    String[] words = sentence.split(" ");
    StringBuilder result= new StringBuilder();
    for(int i = 0; i < words.length; i++)
    {
        if(!words[i].equals("STOP"))
        {
            result.append(words[i]);
            result.append(" ");
        }
    }
  return result.toString();

}

如果您不必使用 slip 我会建议使用 replace all 方法,使您的代码更简单。

于 2013-10-30T18:00:08.620 回答
1

如果你想要的只是使用 append 和 toString 你可以这样做

            public static String telegram(String sentence) {
                String[] words = sentence.split("STOP");
                StringBuilder builder = new StringBuilder();
                for (int i = 0; i < words.length; i++) {
                    builder.append(words[i]);
                }
                return builder.toString();

            }
于 2013-10-30T18:37:33.100 回答
-1

尝试将其替换为 sentence = String.replaceAll("STOP","");

编辑:对不起误会

按推荐使用StringBuilder

于 2013-10-30T17:57:18.700 回答
-1

首先,从技术上讲,您不能从字符串中删除单词。在 Java 中,字符串是不可变的。那么您可能想要做的是创建一个与原始字符串完全相同的新字符串,只是删除了“STOP”一词。

您可以使用String.replaceAll( JavaDoc ) 轻松完成此操作。实际上,该方法可能很短:

return sentence.replaceAll("STOP", "");

编辑:对不起,我没有注意到您对必须使用的方法有限制。

您可能想看看 StringBuilder。使用分隔符“STOP”拆分字符串后,您将得到一个字符串数组,这些字符串组成了删除了停止符的消息。然后您可以使用StringBuilder.append( JavaDoc ) 再次创建一个表示整个消息的 StringBuilder,然后使用 StringBuilder 的toString()方法将 StringBuilder 的内容作为字符串返回。

于 2013-10-30T18:00:27.230 回答