Power Automate 富HTML邮件特定姓名提取问题求助
修复Power Automate提取邮件中审批人姓名的问题
问题核心
你当前流程里的HTML to text动作未完成有效文本转换,或后续未对转换结果做针对性提取,导致Compose Manager输出完整的原始内容。以下是具体修复步骤:
1. 确保HTML转文本的输出正确性
检查HTML to text动作的配置:
- 确认输入为邮件的
Body字段(富HTML内容) - 将
Preserve line breaks设置为Yes,保证转换后的文本保留正确的段落结构 - 运行一次流程,查看
HTML to text的输出,确认已完全去除HTML标签,得到类似John Smith changed the response to Approved for Test的纯文本
2. 用正则表达式精准提取姓名
在Compose Manager动作中,使用以下表达式直接提取姓名:
trim(first(matches(body('HTML_to_text'), '(.*?) changed the response to Approved'))[1])
- 说明:
matches函数匹配纯文本中符合{姓名} changed the response to Approved的片段(.*?)是非贪婪匹配,精准捕获审批人姓名部分trim()去除姓名前后可能存在的多余空格
3. 替代方案:使用Split方法提取
如果正则表达式不生效,可改用字符串分割的方式:
trim(first(split(body('HTML_to_text'), ' changed the response to Approved')))
- 说明:将转换后的文本以固定字符串为分隔符拆分,取第一部分即为姓名,再用
trim()清理空格
4. 验证流程传递逻辑
确认Compose Manager的输入是HTML to text的输出(body('HTML_to_text')),而非邮件原始的HTMLBody字段,避免直接传入未转换的HTML代码
内容的提问来源于stack exchange,提问作者Sakura
相关产品推荐
相关产品推荐

