我想从给定的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(),我不知道如何使用它们。
提前致谢!
答案 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.replaceAll
(JavaDoc)可以相当轻松地完成此操作。事实上,这个方法可能很简短:
return sentence.replaceAll("STOP", "");
编辑:对不起,我没注意到你对必须使用的方法有限制。
您可能想看一下StringBuilder。在使用分隔符“STOP”拆分String后,您将得到一个包含删除了停靠点的消息的字符串数组。然后,您可以使用StringBuilder.append
(JavaDoc)创建一个再次表示整个消息的StringBuilder,然后使用StringBuilder的toString()
方法将StringBuilder的内容作为String返回。