Power Automate的HTML转文本动作异常插入多余换行符问题求助
Power Automate 邮件HTML转文本异常插入换行修复方案
问题原因
内置HTML to text动作会识别HTML中肉眼不可见的控制字符(回车符、零宽空格、软换行标记等)转换为换行符,你对比时仅查看 内容,遗漏了隐藏在HTML源码中的异常控制字符,因此会出现输入结构看起来一致但转换结果不同的情况。
修复方案
两种方案均不会破坏原有 内容,不影响你后续将 替换为/导入PowerQuery的逻辑:
方案1:预处理HTML源内容(推荐,从根源避免异常)
在调用HTML to text动作前,先清除HTML中的所有隐形控制字符,使用如下表达式处理邮件正文:
replace(replace(replace(triggerBody()?['Body'], decodeUriComponent('%0D'), ''), decodeUriComponent('%0A'), ''), decodeUriComponent('%E2%80%8B'), '')
该表达式会依次清除HTML中的回车符、换行符、零宽空格,仅保留可见内容和 标记,再送入转换动作即可避免无意义换行插入。
方案2:后处理转换后的文本
如果不方便修改前置流程,可直接对HTML to text的输出做定向换行清除,仅删除数字(带逗号的金额格式)前的多余换行,其他位置的换行、空格均不受影响:
replace(outputs('HTML_to_text'), decodeUriComponent('%0A(?=\\d+,?\\d*)'), '')
你的异常转换结果" \n 528,00\n\n"经过该表达式处理后,会输出和正常结果格式一致的" 528,00\n\n"。
内容的提问来源于stack exchange,提问作者Michael Christensen
相关产品推荐
相关产品推荐

