【发布时间】:2013-10-08 18:56:38
【问题描述】:
我已经这样做了,但感觉很肮脏和错误。有哪些更好的选择?
private static string addNewLinesToStoryParagraphs(string story)
{
string result = story.Replace("</p>", "</p>" + Environment.NewLine);
result = result.Replace("</p>" + Environment.NewLine + Environment.NewLine, "</p>" + Environment.NewLine);
return result;
}
输入字符串是一个序列化为字符串的 HTML 片段。我想确保每个 <p></p> 对都有一个新行。显然,如果 NewLine 已经存在,我不想在每个 <p></p> 对之间有两条线。
我简要地尝试过使用 HTML Agility Pack 进行一些尝试,但我没有看到任何保存过载或用于清理 HTML 的选项。但是我对那个库的经验很少,所以如果有办法做到这一点,我会全力以赴。
【问题讨论】:
-
Regex.Replace(input,"</p>(?![\n\r]+)","</p>"+Environment.NewLine); -
@Anirudh 这是一个可以接受的答案。您能否将此作为答案,以便投票和接受?
标签: c# html regex replace newline