从字符串中删除停用词

Removing Stopwords from String

我需要从字符串中删除停用词。我使用以下代码删除停用词并在 textView 中设置最终输出。但是当我 运行 代码时,它总是给出输出 "bugs"。换句话说,它总是给我最后一个字符串单词作为输出。请检查我的代码并提供帮助!

public class Testing extends Activity {
TextView t1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.testing);
    t1= (TextView)findViewById(R.id.textView1);
    String s="I love this phone, its super fast and there's so" +
            " much new and cool things with jelly bean....but of recently I've seen some bugs.";
    String[] words = s.split(" ");
    ArrayList<String> wordsList = new ArrayList<String>();
    Set<String> stopWordsSet = new HashSet<String>();
    stopWordsSet.add("I");
    stopWordsSet.add("THIS");
    stopWordsSet.add("AND");
    stopWordsSet.add("THERE'S");

    for(String word : words)
    {
        String wordCompare = word.toUpperCase();
        if(!stopWordsSet.contains(wordCompare))
        {
            wordsList.add(word);
        }
    }

    for (String str : wordsList){
        System.out.print(str+" ");
        t1.setText(str);
    }
}

t1.setText(str); 表示它不关心前面的文本是什么。它使最后一个循环。因此,请改用 append

t1.append(str);

或将每个 str 附加到单个字符串,并在循环后的 TextView 中设置它。

输出是 "bugs." 因为这行代码:

 t1.setText(str);

每次在循环中都会重新编写文本视图。因为最后一次迭代这个词是"bugs.",textview会显示错误。

如果您想附加字符串而不是重写它,请使用:

 t1.append(str);

希望对您有所帮助。