如何从以下字符串中获取电子邮件地址:
def emailAddress="john@doe.com <\john@doe.com\\>"
这样我就可以在调用时使用它Contactperson.findByEmailAddress(variable)
JavaMail 提供了一个表示电子邮件地址的类,该类可以解析您拥有的格式的字符串。看看javax.mail.internet.InternetAddress
。
Grails 有一个邮件插件,可以自动使 JavaMail 可用。
我假设您需要比较的电子邮件在括号内:
Contactperson.findByEmailAddressIlike('%<${variable}>%')
根据您的数据库,您可能需要转义特殊字符。
一个简单的解决方案是
Contactperson.findByEmailAddress(emailAddress.split('<')[0])
但是您需要先做一些验证工作以避免格式错误。