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

Java 删除空格后电子邮件地址中的非法字符,java,android,regex,email,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 = (Edit

我正在通过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));

我做了一些研究,试图找出这是否是一个解析问题,或者是什么导致了它,但什么也没有发现。有人知道我为什么会犯这个错误吗?提前感谢。

这是因为您正在将
编辑文本
转换为
字符串
,而不是获取其文本并对其执行
replaceAll()

只需替换以下内容:

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

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

e的值是多少?在本例中,它只是一个简单的yahoo电子邮件地址:user123@yahoo.comThen只需使用:
e.getText().toString().replaceAll(…)
谢谢。给我几分钟,我会接受答案。