我在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");
}
}
});
}
}
答案 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()
来替换所有这些单词