【发布时间】:2019-03-16 22:10:36
【问题描述】:
我正在尝试制作一个应用程序,您可以在其中通过 editText 组件获取输入并将其放入字符串中,如下所示:
number = findViewById(R.id.editText2);
newNumber = number.getText().toString();
现在我想要的是在满足某个条件时替换字符串 start,如下所示:
if (number.getText().toString().substring(0, 1).equals("0")) {
newNumber = newNumber.replaceFirst("06", "3876");
Log.d("TAG", newNumber);
}
我收到一条错误消息,提示 StringIndexIsOutOfBounds index=2 length=0
我也试过这样:
if (newNumber.startsWith("06")) {
newNumber = newNumber.replaceFirst("06", "3876");
Log.d("TAG", newNumber);
//Toast.makeText(MainActivity.this, newNumber, Toast.LENGTH_SHORT).show();
}
else {
...
}
当我运行这个查询时,我得到了 else 语句。
由于我尝试了多种组合,因此类似的组合会产生空吐司。 (不记得具体做了什么,但也没关系,因为它也不对)
我的代码有什么问题?字符串都是数字,但我发现对字符串进行替换是最容易的,如果你知道更好的实现,请成为我的客人。输入应该是 9 个数字,输出应该是 11 个数字(我将 06 替换为 3876,所以我在那里得到了 2 个额外的数字)。
(我已经搜索过类似的问题,一些尝试是娱乐,但没有成功)
【问题讨论】:
标签: java android replace android-edittext