非法字符删除空格后的电子邮件地址

时间:2014-04-16 16:51:26

标签: java android regex email

我通过EditText接收电子邮件地址。我收到一个错误,说地址包含空格,没问题。我实现了address.removeAll(“\\ s”,“”);现在我收到了错误

  • 04-16 09:37:43.009:W / System.err(1632):javax.mail.internet.AddressException:字符串“606#7f080011app:id / enterEmail}”中的本地名称中的非法字符

以下是我捕获电子邮件并转换为字符串的代码。

      EditText e = (EditText) findViewById(R.id.enterEmail);

      String to = e.toString().replaceAll("\\s", "");

在我使用地址并获取错误的行上:

msg.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(to));

我做了一些研究,试图找出它是一个解析问题,或者是什么导致它但却一无所获。有谁知道为什么我会收到这个错误?提前谢谢。

1 个答案:

答案 0 :(得分:1)

这是因为您将EditText转换为String而不是获取文字并在其上执行replaceAll()

只需替换它:

String to = e.toString().replaceAll("\\s", "");

有了这个:

String to = e.getText().toString().replaceAll("\\s", "");