替换句子中的某些单词

时间:2016-12-30 19:11:18

标签: java android

我在Android Studio中开发了一个应用程序,用于翻译我自己编写的某些单词。我已经在代码中得到了正确翻译单词的部分,但只有在我输入单词时才有效,但在单词中输入单词时则无效。当我输入句子时,按下按钮时它不会显示任何内容。例如:当我输入" Cookie"时,我得到" Biscuit"。但是当我输入"我爱我一个Cookie"时,按下按钮时它不显示句子和单词。

到目前为止,这是我的代码:

public class MainActivity extends AppCompatActivity {
    EditText mType;
    Button mSearch;
    TextView mResults;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mType = (EditText) findViewById(R.id.typeWordTxt);
        mSearch = (Button) findViewById(R.id.find8tn);
        mResults = (TextView) findViewById(R.id.resultsTxt);
        mSearch.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mType.getText().toString().trim().equals("cookie"))
                {
                    mResults.setText("biscuit");
                }
            }
        });
    }
}

3 个答案:

答案 0 :(得分:5)

你可以这样做:

if (mType.getText().toString().toLowerCase().contains("cookie")) {
    mResults.setText(mType.getText().toString().replaceAll("(?i)cookie", "biscuit"));
}

正如@Andreas对下面的评论所说,你可以用它来代替if是一个完整的单词,而不是替换单词中的字符串。

答案 1 :(得分:2)

这是一项简单的任务,您可以执行以下操作

String str = "abc";
str.replace("abc", "xyz");

它将在整个字符串中将 abc 替换为 xyz 。 尝试一下,让我知道这就是你想要的东西

答案 2 :(得分:1)

因为您使用等于,要从句子中查找单词,您必须使用方法contains()replaceAll()来替换所有这些单词