如何使用Groovy/Java从文本字符串中提取AccountId这类指定字符串
Groovy 提取邮件正文中指定键值对的实现方案
场景说明
你已经获取到字符串格式的Gmail邮件正文,需要从中提取AccountId=13234这类格式的指定内容,可通过正则匹配快速实现。
参考邮件正文示例如下:
User: ABC
AccountId=13234
CompanyName=xyz
Thanks
Team
实现代码
// 替换为你实际获取的邮件正文字符串 def emailBody = """User: ABC AccountId=13234 CompanyName=xyz Thanks Team""" // 正则匹配:匹配AccountId=开头、到行尾结束的所有内容 def matcher = (emailBody =~ /AccountId=[^\n\r]*/) if (matcher.find()) { // 提取完整的 AccountId=xxx 字符串 def fullAccountStr = matcher[0] println "完整匹配结果:" + fullAccountStr // 仅提取AccountId的数值部分 def accountIdValue = fullAccountStr.split("=")[1].trim() println "AccountId数值:" + accountIdValue } else { println "未在邮件中找到AccountId字段" }
拓展说明
- 如果需要提取其他同类格式的字段(如
CompanyName=xyz),只需将正则表达式中的AccountId替换为对应键名即可 - 如果AccountId的取值仅包含数字、字母、下划线,可以将正则调整为
/AccountId=\w+/,匹配逻辑更严谨,避免匹配到多余的冗余内容
内容的提问来源于stack exchange,提问作者Gopi Meesala
相关产品推荐
相关产品推荐

