2013-10-30 219 views
0

我想從給定字符串中刪除1個特定單詞(「停止」)的所有實例。 我需要首先分割來完成這個字符串從字符串中刪除單詞(使用特定方法時)

這是我到目前爲止有:

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這個詞做數組元素,但我不確定這是否會工作。

我需要使用方法append(String)和toString(),我不知道如何使用這些。

在此先感謝!

+0

什麼是這種方法將收到的投入一些例子嗎? –

+1

提示提示 - >使用StringBuilder。它有append和toString() – JNL

+0

看起來像作業 –

回答

-1

嘗試通過 sentence = String.replaceAll("STOP","");

編輯來替代它:對不起誤會

使用StringBuilder的推薦

+0

再次閱讀帖子。必須使用某些方法! – ChiefTwoPencils

+0

我會給你你-1回,但現在它基本上是一個評論。 – ChiefTwoPencils

+0

@ alex2410在你的答案下有[刪除]選項。隨意使用它。這樣你就會失去信譽,類似答案的數量會減少,從而使這個問題更具可讀性。 – Pshemo

3

,如果你有,你會想是這樣的拆分方法來做到這一點。

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(); 

} 

如果你不用滑我會建議使用替換所有的方法,讓你的代碼更簡單。

+0

對不起,誤解了這個問題:) – Todoy

+0

這個工作,但它刪除所有的空間。 下面是一個輸入/輸出示例: 輸入:*「停止符號是帶STOP的正交符號STOP停止停止符號停止」* 輸出:**「停止符號是帶有on 「** –

+0

一個是的,忘了那些小辮子的bug子手..我會做一個編輯 – Todoy

-1

首先,從技術上講,您不能從字符串中刪除單詞。在Java中,字符串是不可變的。你可能想要做的是創建一個完全像原始字符串的新字符串,除了單詞「STOP」被刪除。

您可以通過使用String.replaceAllJavaDoc)很容易地做到這一點。事實上,該方法也可以這麼短:

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

編輯:對不起,我沒有注意到,你對你不得不使用的方法的制約。

您可能想看看StringBuilder。使用分隔符「STOP」分割字符串後,您將留下一個字符串數組,其中包含刪除了停止符的消息。然後,您可以使用StringBuilder.appendJavaDoc)創建一個表示整個消息的StringBuilder,然後使用StringBuilder的toString()方法以String形式返回StringBuilder的內容。

+0

對不起,我沒注意到。我更正了我的帖子以使用由OP指定的方法。 – kviiri

1

如果你想要使用附加和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(); 

      } 
+0

對不起,我的壞。你正在分割''STOP''這是我也會建議的方法,因爲沒有關於我們應該在分割中使用什麼字符串的信息。我猜它對你來說是+1,但是我還會在'「STOP」之後加上一個空格,假設[OP示例](http://stackoverflow.com/questions/19690390/removing-words-from-a-string- while-using-specific-methods#comment29247507_19690463)是正確的。 – Pshemo

+0

這個要求並沒有說空間。上面的每個例子都假設STOP這個詞在前後都會有空格。 – costilo