【问题标题】:Delete spaces from Editable object从可编辑对象中删除空格
【发布时间】:2013-09-09 19:39:21
【问题描述】:

我已使用此代码删除了 edittext 对象中的字符

edit = etcalle.getEditableText();
if (edit.length() > 0)
  edit.delete(edit.length() - 1, edit.length());

它一直在工作,但是当我的字符串看起来像这样 +81 901 时,它不会删除空格。它到达并停止删除字符。

如何删除文本中的空格?

编辑:

为了清楚起见,我不想一次删除所有内容。每次点击删除按钮时只有一个字符

【问题讨论】:

  • 使用etcalle.getText().toString() 获取String 对象。使用String.replace(" ", ""); 删除所有空格字符。
  • @user2558882 如果我点击删除按钮,我仍然想删除+89901
  • 如果在删除9 后点击两次删除会发生什么? 1被删除了吗?
  • 为我工作。您能否编辑问题以包含其他代码以使问题可重现?

标签: android android-edittext


【解决方案1】:
String original = etcalle.getText().toString();

然后

etcalle.setText(original.substring(0,original.length-1));

当然一定要检查原件不为空或长度

【讨论】:

  • 没有。 ==> It has been working but when my string looks like this +81 901 it doesn't delete the space
  • @user2558882 使用我的方法删除字符串中任何位置的空格
  • @Hi-TechKitKatAndroid 你的代码可以工作。但是,String.replaceAll() 应该与 regex 参数一起使用。对于 OP 正在尝试做的事情,用 String.replace() 替换字符就足够了。请参阅相关文档。
  • @Hi-TechKitKatAndroid 想解释一下为什么?
  • 如您所见 '' 单引号,但它有效 .replace(" ","");我已经编辑了谢谢
【解决方案2】:

使用它会删除所有空格

String str = "99 85263 9633";
str.replace(" ", "");  // Output is 99852639633

那么它的魔力你可以用这个做到这一点

String str = "99 85263 9633";
str.replaceFirst(" ",""); // Output is 9985263 9633

【讨论】:

  • 我不想一次删除所有内容。每次我点击删除按钮时只有一个字符
  • @BigT 你想要这个吗
  • @BigT 当您重复第二个功能时,它将删除第一次出现的空格
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-28
  • 2012-10-04
  • 1970-01-01
  • 2011-03-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多