从TextView中删除单词

时间:2014-01-08 06:07:39

标签: java android eclipse

我有一个TextView,其中包含已处理的文本,因此它将是小写的,并且没有标点符号。 现在我想删除停用词(这些停用词是我已经定义的语言)。之后,我想将结果发送给另一个TextView

这是我的代码

public void onClick(View v) {
    // TODO Auto-generated method stub
    if (v.getId() == R.id.button6) {
        Intent i2 = new Intent(this, PreposisiRemoval.class);

        String test = ((TextView) findViewById(R.id.textView7)).getText()
            .toString();
        String[] preposisi = { "akibat", "atas", "bagai", "bagi", "berkat",
            "dalam", "dari", "demi", "dengan", "di", "hingga",
            "karena", "ke", "kecuali", "lewat", "oleh", "pada",
            "sampai", "sejak", "seperti", "tanpa", "tentang", "untuk" };

        StringBuilder result = new StringBuilder();

        Scanner fip1 = new Scanner(test);
        while (fip1.hasNext()) {
            int flag = 1;
            String s1 = fip1.next();
            for (int i = 0; i < preposisi.length; i++) {
                if (s1.equals(preposisi[i])) {
                    flag = 0;
                }
                if (flag != 0) {
                    System.out.println(s1);
                    result.append(s1);
                }
            i2.putExtra("result2", result.toString());
            startActivity(i2);
            }
        }
    }
}

按下button6后,我没有得到任何结果。 我的编码部分在哪里错了?

此代码位于另一个Activity,它将接收已处理的文本。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_preposisi_removal);

    Intent intent = getIntent();
    String result = intent.getStringExtra("result2");

    TextView tv = (TextView) findViewById(R.id.textView8);
    tv.setMovementMethod(new ScrollingMovementMethod());
    tv.setText(result);
    tv.setTextSize(12);
}

1 个答案:

答案 0 :(得分:1)

要准备result2的文字,您可以尝试以下方法 -

String STOP_WORD = "."; // define your stop word here.

String result2= result.replace(STOP_WORD ,""); 

然后传递文本并在第二个TextView上设置。