2013-10-08 6 views
1

Может ли кто-нибудь сказать мне, что не так в моем коде?удаление слов из строки в java

Я пытаюсь передать строку для функции removeWords(), и эта функция удаляет некоторую информацию с String.

Например, если я прохожу:

"У меня есть Headach"

функция должна возвращать:

"Headach"

Однако, моя функция не работает:

public class WordChosen extends Activity { 

    private TextView wordsList; 
    private String symptom; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_word_chosen); 

     //Getting String from VoiceRecognition Activity and displaying it 

     Intent intent = getIntent(); 
     String wordChosen = intent.getExtras().getString("wordChosen"); 

     //casting the string with TextView to display the result 
     wordsList = (TextView) findViewById(R.id.wordChosen); 

     Log.v("Word List:", "+++++"+wordChosen); 
     //Setting text to be displayed in the textView 

     removeWords(wordChosen); 
     Log.v("removewords:", "------- message is displayed"); 



    } 

    public void removeWords(String wordList) 
    { 
     ArrayList<String> stopList = null; 
     stopList.add("i"); 
     stopList.add("have"); 
     stopList.add("a"); 

     ArrayList<String> result = new ArrayList<String>(Arrays.asList(wordList.split(" "))); 
     for(int i=0; i<result.size();i++) 
     { 
      for(int j=0; j<stopList.size();j++) 
      { 

       if (result.get(i).equals(stopList.get(j))) { 
        break; 
       } 
       else { 

        if(j==stopList.size()-1) 
        { 

         wordsList.setText(result.get(i)); 

        } 
        } 
       } 
      } 

     } 
} 
+0

Что это возвращение для ввода? – Prateek

+0

Какие у вас текущие результаты? – fasteque

+1

Строки неизменяемы. Вам нужно будет вернуть новую строку из вашего метода. – GriffeyDog

ответ

9
public static void main(String[] args) { 
    String word = "I Have a Headach"; 
    String remove = "I Have a "; 
    System.out.println(removeWords(word, remove)); 
} 

public static String removeWords(String word ,String remove) { 
    return word.replace(remove,""); 
} 

выход: Headach

+3

Хотя я предполагаю, что это технически предлагает альтернативное решение заданного вопроса, оно имеет ограниченный охват и, вероятно, не слишком полезно для ОП. – AndyPerfect

+1

@ AndyPerfect правильный. Более лучший ответ (удалить несколько слов из строки) можно [найти здесь] (http://stackoverflow.com/a/4769336/1276636). – Sufian

Смежные вопросы