使用语音识别从TextView中删除最后一个单词

时间:2012-03-05 20:09:43

标签: java android textview

我正在使用语音识别来构建应用程序。我将最后一个句子存储在textView的字符串中,并尝试将其与新单词进行比较,当用户说“删除”最后一个单词时应删除文本视图中的字符串..

我不知道这段代码有什么问题..

if(requestCode == request_code && resultCode == RESULT_OK)
    {
        ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);

        if(matches != null && matches.size() > 0)
        {
            text = matches.get(0);
            if(text == "hello")
            {
                text = (String) et.getText();
                rep = text.replaceAll("\\d+\\Z", "");

                Log.d(tag, "THis is not working");
                et.setText(rep);
                rep = null;

            }
            else
            {
            option = matches.get(0);
            et.setText(option);
            }
        }

先谢谢你:D

1 个答案:

答案 0 :(得分:2)

使用if(text.equals("hello"))代替if(text == "hello")

或者甚至更好:if(text.equalsIgnoreCase("hello"))


删除文字区域中的最后一个字词:

String text = textArea.getText();

// capture everything except the last word into group 1
Pattern regex = Pattern.compile("(.*?)\\w+\\s*\\Z", Pattern.DOTALL);
Matcher matcher = regex.matcher(text);

if (matcher.find()) {
    text = matcher.group(1);
    textArea.setText(text);
}