'deleteCharAt()'的替代方法是什么?有图书馆吗?
我想删除String上的特定字符。
这是我目前的代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText name1;
EditText name2;
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
EditText name1;
EditText name2;
TextView textout2;
TextView textout;
int sum;
name1 = (EditText)findViewById(R.id.editText);
name2 = (EditText)findViewById(R.id.editText2);
int totalLength = 0;
int total;
String inputText1 = name1.getText().toString();
String inputText2 = name2.getText().toString();
totalLength = name1.length() + name2.length();
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.TOP | Gravity.LEFT,0, 0);
for (int i = 0; i < name1.length(); i++)
{
char ch = inputText1.charAt(i);
for (int j = 0; j < name2.length(); j++)
{
if (ch == inputText2.charAt(j))
{
inputText1.deleteCharAt();
inputText2.deleteCharAt();
}
}
}
});
}
答案 0 :(得分:1)
将字符串保存在StringBuilder
中StringBuilder builder = new StringBuilder(yourString);
您可以使用deleteChatAt()方法。
答案 1 :(得分:0)
只需更改以下行:
StringBuilder inputText1 = new StringBuilder(name1.getText().toString());
StringBuilder inputText2 = new StringBuilder(name2.getText().toString());
StringBuilder类有一个deleteCharAt()方法(正是你要找的)。
要从StringBuilder获取String对象,只需使用:
String str = inputText1.toString();
答案 2 :(得分:0)
将getText()
与EditText
一起使用会返回Editable
(即可编辑的String
)。 Editable
没有像StringBuilder
这样的deleteCharAt (int index)
方法。但是,您可以使用其delete (int st, int en)
方法作为替代方法,其中st
是起始索引,en
是结束索引(不包括)。因此,如果您要删除单个char
,请创建en = st + 1
。
int index = 4;
EditText myEditText = (EditText) findViewById(R.id.editText);
Editable text = myEditText.getText();
text.delete(index, index + 1); // delete char at index
答案 3 :(得分:-1)
Remove(Int32, Int32)
它可以用作deleteCharAt()
上面的代码返回一个新字符串,其中删除了从指定位置开始的当前实例中指定数量的字符。