从字符串中删除停用词
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);
希望对您有所帮助。
我需要从字符串中删除停用词。我使用以下代码删除停用词并在 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);
希望对您有所帮助。