gpt4 book ai didi

java - 尝试替换 editText 字符串开始时出错

转载 作者:行者123 更新时间:2023-12-02 01:52:35 25 4
gpt4 key购买 nike

我正在尝试制作一个应用程序,您可以通过 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 语句。

由于我尝试了多种组合,类似的组合会产生一个空的 toast 。 (不记得到底做了什么,但这并不重要,因为它也不正确)

我的代码有什么问题吗?字符串都是数字,但我发现在字符串上进行替换是最简单的,如果您知道更好的实现,请成为我的客人。输入应该是 9 个数字,输出应该是 11 个数字(我用 3876 替换 06,这样我就得到了 2 个额外的数字)。

(我已经搜索过类似的问题,并且进行了一些尝试,但没有成功)

最佳答案

好的,首先,你确定你的字符串 f.ex 是正确的吗? 06xxxxxx 在你的变量中并且不为空?

检查你的字符串

!number.getText().toString().isEmpty()

试试这个:

EditText number = (EditText) findViewById(R.id.editText2);
String newNumber = number.getText().toString();

f(!number.getText().toString().isEmpty()){
Log.d("TAG", newNumber);
newNumber = newNumber.replaceFirst("06", "3876");
Log.d("TAG", newNumber);
}

关于java - 尝试替换 editText 字符串开始时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52766633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com