You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中如何移除换行符及相连=符号且保留所需=?

解决MIME软换行的字符串合并问题

问题分析

你的字符串属于Quoted-Printable编码的文本,行过长时会用=+换行(可能带缩进空格)做软换行,需要只移除这些用于换行的=、换行符及后续空白,保留业务需要的=(比如color=3D#8080ff里的=)。

解决方案

用正则表达式精准匹配软换行的模式,替换为空即可。不同语言的实现逻辑一致,以下是常见语言的示例:

Java 代码

String fixedStr = originalStr.replaceAll("=\\s*\\r?\\n\\s*", "");

Python 代码

import re
fixed_str = re.sub(r'=\s*\r?\n\s*', '', original_str)

正则逻辑解释

  • =:匹配软换行专用的等号
  • \\s*:匹配等号后可能存在的空白字符(兼容部分编码的格式)
  • \\r?\\n:匹配Windows(\r\n)或Unix(\n)的换行符
  • \\s*:匹配换行后开头的缩进空白(比如你例子里换行后的两个空格)

替换效果示例

原断开的片段:

al=
t=3D"Inline Image with alt"

替换后会变成:

alt=3D"Inline Image with alt"

而像color=3D#8080ff这类正常的=会完整保留。

内容的提问来源于stack exchange,提问作者Lyn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 15:27:39