c#:急求一正则表达式

iverylovecsharp 2009-08-10 09:48:50
正则要求一:
<p>
1</p>
<p>
2
</p>

替换成 1<br />2<br />

正则要求二:
<p>
1</p>
<p>
2
</p>
3<p>
4<p>

替换成 1<br />2<br />3<br />4<br />

正则要求三:
</p></p>
<p>
1</p>
<p>
2
</p>
3<p>
4<p>

替换成 1<br />2<br />3<br />4<br />
...全文
81 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainsome 2009-08-12
  • 打赏
  • 举报
回复

//Try it.
private String StringReplace(String _str)
{
Regex objRegex1 = new Regex(@"(?i)\s*\<\/?p[^>]*\>\s*");
Regex objRegex2 = new Regex(@" *(\d+ )");

String rt = objRegex1.Replace(_str, " ");
rt = objRegex2.Replace(rt.TrimStart(' '), @"$1<br />");
return rt;
}
Chris333 2009-08-12
  • 打赏
  • 举报
回复
抱着学习的态度等待高人的指点
xie_yanke 2009-08-12
  • 打赏
  • 举报
回复
Regex.Replace(Regex.Replace(Regex.Replace(str, @" <p>| </p>", "\n"), @"^\n{1,}", ""), @"\n+", " <br/>");
xie_yanke 2009-08-12
  • 打赏
  • 举报
回复
Replace(Regex.Replace(Regex.Replace(str, @"<p>|</p>", "\n"), @"^\n{1,}", ""), @"\n+", "<br/>");

三步:
1. 替换<p>和</p>为\n;
2. 把开头的\n替换为空;
3. 把多个\n 替换为一个<br/>

应该基本同时满足三个要求
zhengqian529 2009-08-12
  • 打赏
  • 举报
回复
mark
编程有钱人了 2009-08-12
  • 打赏
  • 举报
回复
string dtr1 = "<p>1</p><p>2</p>";
string str12 = Regex.Replace(dtr1, @"</p>", @"<br/>", RegexOptions.IgnoreCase);
str12 = Regex.Replace(dtr1, @"<p>","", RegexOptions.IgnoreCase);
Response.Write(str12);
bychgh 2009-08-12
  • 打赏
  • 举报
回复
ding
iverylovecsharp 2009-08-12
  • 打赏
  • 举报
回复
up
langziqian 2009-08-10
  • 打赏
  • 举报
回复
帮顶

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧