正则表达式 我想在C#中,用正则表达式,把给定字符的所有HTML标签删掉,应该如何做?谢谢!顶者有多! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Regex.Replace()替换掉就可以了.:) <p><strong>加粗字符</strong>请谢你帮我解决问题!</p><img scr="thanks.gif"></img>就随便一断HTML标签! 谢谢你, cj460cn(cj460cn) 比较急,能不能快点。还有谁会的,帮一下吧。 没有调试,你参考一下private void button1_Click(object sender, System.EventArgs e) { string s=@"要替换的字符串"; string myreg=@"<HTML>|</HTML>"; string a=Regex.Replace(s,myreg,new MatchEvaluator(this.mydo),System.Text.RegularExpressions.RegexOptions.IgnoreCase); this.textBox1.Text=a; } private string mydo(Match m) { string a=m.Value; if(a.Length>0) return ""; } 先谢谢 dazhu2(边城浪子【倚天不出,谁与争锋】不管怎么样子,至少你帮了,你能不能给出匹配字符串就如你上面写的:string myreg=@"<HTML>|</HTML>"; string s=@"<HTML>这是一个测试</HTML>";Regex digitregex = new Regex("(?<=\\<(\\S)*\\>).*(?=\\</(\\S)*\\>)");MatchCollection mc = digitregex.Matches(s);if ( mc.Count > 0 ) { foreach (Match m in mc) { MessageBox.Show(" " + m.Value.ToString()); }} else { MessageBox.Show("None");}这个只能检查单个的,我在改改吧. string s=@"<p><strong>加粗字符</strong>请谢你帮我解决问题!</p><img scr=thanks.gif></img>";Regex digitregex = new Regex("(?<=\\<(\\S)*\\>)[^<|</|>](\\S)*(?=\\</(\\S)*\\>)");MatchCollection mc = digitregex.Matches(s);if ( mc.Count > 0 ) { foreach (Match m in mc) { MessageBox.Show(" " + m.Value.ToString()); }} else {MessageBox.Show("None");}这个是上面的那个改进,能处理多个,但是还有问题,这个的结果是:加粗字符</strong>请谢你帮我解决问题.也就是说中间的那个去不掉,汗啊.....我也是菜鸟,还是请高手出码吧. string pn = "(</?.*?/?>)";s = Regex.Replace(s,pn,"");s就是你要处理的字符串 谢谢 cj460cn(cj460cn),我也是和你同样的问题 ,也谢谢 h_lj(贝塔),但是好像不能全部替掉 我试过h_lj(贝塔)的方法,都替换掉了.你那里没有被替换啊? :) string sReg = "(</?.*?/?>)";string sRe = Regex.Replace(s,pn,""); string s = "...."; s = System.Text.RegularExpressions.Regex.Replace(s, @"<[^>]+>",""); TO:h_lj(贝塔) 不好意思是我弄错了。谢谢 此段代码怎么注释最合理? 利用C#写一个能在asp中调用的dll文件 为什么修改一个STATE竟然全修改了 为何这段代码不能向界面中添加 app.config 连接数据库问题 请教一个C# Winform的数据邦定问题 有关部署安装的问题,比较急 WCF,请教ServiceHost 的构造函数的问题 学习C#的朋友进来看看 提个问 c#中哪个函数 和getchar 功能相同 如何格式化打印我的毕业证书 最简单的方法,最好的方法。
就随便一断HTML标签!
没有调试,你参考一下
private void button1_Click(object sender, System.EventArgs e)
{
string s=@"要替换的字符串";
string myreg=@"<HTML>|</HTML>";
string a=Regex.Replace(s,myreg,new MatchEvaluator(this.mydo),System.Text.RegularExpressions.RegexOptions.IgnoreCase);
this.textBox1.Text=a;
} private string mydo(Match m)
{
string a=m.Value;
if(a.Length>0)
return "";
}
你能不能给出
匹配字符串
就如你上面写的:string myreg=@"<HTML>|</HTML>";
Regex digitregex = new Regex("(?<=\\<(\\S)*\\>).*(?=\\</(\\S)*\\>)");
MatchCollection mc = digitregex.Matches(s);
if ( mc.Count > 0 )
{
foreach (Match m in mc)
{
MessageBox.Show(" " + m.Value.ToString());
}
}
else
{
MessageBox.Show("None");
}
这个只能检查单个的,我在改改吧.
Regex digitregex = new Regex("(?<=\\<(\\S)*\\>)[^<|</|>](\\S)*(?=\\</(\\S)*\\>)");
MatchCollection mc = digitregex.Matches(s);
if ( mc.Count > 0 )
{
foreach (Match m in mc)
{
MessageBox.Show(" " + m.Value.ToString());
}
}
else
{
MessageBox.Show("None");
}这个是上面的那个改进,能处理多个,但是还有问题,这个的结果是:加粗字符</strong>请谢你帮我解决问题.也就是说中间的那个去不掉,汗啊.....我也是菜鸟,还是请高手出码吧.
s = Regex.Replace(s,pn,"");s就是你要处理的字符串
也谢谢 h_lj(贝塔),但是好像不能全部替掉
string sRe = Regex.Replace(s,pn,"");
s = System.Text.RegularExpressions.Regex.Replace(s, @"<[^>]+>","");
谢谢