使用Regex移除HTML标签后,如何为字符串添加换行分隔?
问题:处理HTML标签后实现换行显示
原HTML内容:
Air Receiver <br /> Pressure Washer <br />Vehicle Lift<br />100T Crane Attachment<br />
当前使用的C#代码(运行正常):
ViewBag.PlantDetails = Regex.Replace(QuoteDetails.PlantDetails, @"<[^>]+>| ", " ").Trim();
当前执行结果:
Air Receiver Pressure Washer Vehicle Lift 100T Crane Attachment
需求:希望处理后得到换行格式的字符串,效果如下:
Air Receiver Pressure Washer Vehicle Lift 100T Crane Attachment
解决方案
分两步处理,先保留<br />对应的换行结构,再清理其他冗余内容:
// 第一步:将所有<br>系列标签替换为系统换行符 var processedText = Regex.Replace(QuoteDetails.PlantDetails, @"<br\s*/?>", Environment.NewLine); // 第二步:移除其他HTML标签和 ,替换为空格后清理首尾空格 processedText = Regex.Replace(processedText, @"<[^>]+>| ", " ").Trim(); // 可选:清理换行前后的多余空格,避免每行出现前置/后置空格 processedText = Regex.Replace(processedText, @"\s+" + Environment.NewLine, Environment.NewLine); processedText = Regex.Replace(processedText, Environment.NewLine + @"\s+", Environment.NewLine); ViewBag.PlantDetails = processedText;
说明
- 优先匹配换行标签:正则
@"<br\s*/?>"可以覆盖<br>、<br/>、<br />等所有常见换行标签写法,用Environment.NewLine保证跨平台的换行兼容性。 - 清理冗余内容:在保留换行结构的基础上,移除其他HTML标签和
,避免内容粘连。 - 优化换行格式:最后清理换行前后的多余空格,确保每一行内容整洁。
内容的提问来源于stack exchange,提问作者ullevi83
相关产品推荐
相关产品推荐

