Java 从字符串中删除单词(使用特定方法时)
我想从给定字符串中删除一个特定单词(“STOP”)的所有实例。 我需要首先拆分字符串来完成此操作 到目前为止,我得到的是:Java 从字符串中删除单词(使用特定方法时),java,Java,我想从给定字符串中删除一个特定单词(“STOP”)的所有实例。 我需要首先拆分字符串来完成此操作 到目前为止,我得到的是: public static String telegram(String sentence) { String[] words = sentence.split(" "); for(int i = 0; i < words.length; i++) { if(words[i].equals
public static String telegram(String sentence)
{
String[] words = sentence.split(" ");
for(int i = 0; i < words.length; i++)
{
if(words[i].equals("STOP"))
{
...
}
}
}
公共静态字符串电报(字符串语句)
{
字符串[]单词=句子。拆分(“”);
for(int i=0;i
如何删除这些单词?
我尝试过使用for循环并使数组元素中的单词为null,但我不确定这是否有效
我需要使用append(String)和toString()方法,但我不知道如何使用它们
提前谢谢 试着用
句子=String.replaceAll(“停止”,“停止”)代码>
编辑:对不起,误会了
按照建议使用StringBuilder如果必须使用拆分方法执行此操作,您可能需要这样的操作
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();
}
公共静态字符串电报(字符串语句)
{
字符串[]单词=句子。拆分(“”);
StringBuilder结果=新建StringBuilder();
for(int i=0;i
如果您不必使用slip,我建议您使用replace all方法,使代码更简单。首先,从技术上讲,您不能从字符串中删除单词。在Java中,字符串是不可变的。然后,您可能想做的是创建一个与原始字符串完全相同的新字符串,只是删除了单词“STOP”
通过使用String.replaceAll
(),您可以相当轻松地完成此操作。事实上,该方法可能如此简短:
编辑:对不起,我没有注意到您对必须使用的方法有限制
您可能想看看StringBuilder。在使用分隔符“STOP”拆分字符串之后,您将得到一个字符串数组,该字符串包含删除了stops的消息。然后,您可以使用StringBuilder.append
()再次创建表示整个消息的StringBuilder,然后使用StringBuilder的toString()
方法将StringBuilder的内容作为字符串返回。如果您只想使用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();
}
公共静态字符串电报(字符串语句){
字符串[]单词=句子。拆分(“停止”);
StringBuilder=新的StringBuilder();
for(int i=0;i
此方法将接收哪些输入示例?提示-->使用StringBuilder
。它已将append和toString()重新读取帖子。一定要用一些方法!我想把你的-1还给你,但现在它基本上是一个注释。@alex2410在你的答案下面有[delete]选项。请随意使用它。这样,您将恢复失去的声誉,类似答案的数量将减少,使此问题更具可读性。很抱歉误解了此问题:)此方法有效,但删除了所有空格。这里有一个输入/输出示例:输入:“停车标志是一个八角形标志,上面有停车标志。停车你应该总是停下来看停车标志。停止”输出:“停车标志是一个八角形标志,上面有停车标志。你应该总是停下来看停车标志。”是的,忘了那些小家伙了。。我会做一份报告edit@TrickBoss您可以使用result.append(words[i]).appent(“”)
虽然您应该只为i
执行此操作,但不要在最后一个单词后添加空格。对不起,我没有注意到这一点。我更正了我的帖子,使用OP指定的方法。对不起,我的错。您正在拆分“STOP”
,这也是我要建议的方法,因为没有关于拆分中应该使用什么字符串的信息。我猜对你来说是+1,但我也会在“STOP”
之后添加一个空格,假设这是正确的。要求中没有提到空格。上面的每个例子都假设单词STOP前后都有空格。
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();
}