从字符串中删除单词(使用特定方法时)

时间:2013-10-30 17:56:30

标签: java

我想从给定的String中删除1个特定单词(“STOP”)的所有实例。 我需要先完成拆分String

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

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 个答案:

答案 0 :(得分: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方法,使您的代码更简单。

答案 1 :(得分: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();

            }

答案 2 :(得分:-1)

尝试替换它 sentence = String.replaceAll("STOP","");

编辑:抱歉误会

按建议使用 StringBuilder

答案 3 :(得分:-1)

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

使用String.replaceAllJavaDoc)可以相当轻松地完成此操作。事实上,这个方法可能很简短:

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

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

您可能想看一下StringBuilder。在使用分隔符“STOP”拆分String后,您将得到一个包含删除了停靠点的消息的字符串数组。然后,您可以使用StringBuilder.appendJavaDoc)创建一个再次表示整个消息的StringBuilder,然后使用StringBuilder的toString()方法将StringBuilder的内容作为String返回。