private string UbbToHtmlForB(string str)
{
Regex regex = new Regex(@"(\[)(b\])(.)(\[/)(\2)");
MatchCollection matches = regex.Matches(str);
foreach (Match m in matches)
{
str = str.Replace(m.Groups[0].ToString(), "<b>" + m.Groups[3].ToString() + "</b>");
}
if (str.IndexOf("") > -1)
{
str = UbbToHtmlForB(str);
}
return str;
}调用:UbbToHtmlForB("[b][b]a[/b]b")得到的结果是:<b>a</b><b>b</b>如果我想要得到<b><b>a</b></b><b>b</b>要怎么修改正则。
{
Regex regex = new Regex(@"(\[)(b\])(.)(\[/)(\2)");
MatchCollection matches = regex.Matches(str);
foreach (Match m in matches)
{
str = str.Replace(m.Groups[0].ToString(), "<b>" + m.Groups[3].ToString() + "</b>");
}
if (str.IndexOf("") > -1)
{
str = UbbToHtmlForB(str);
}
return str;
}调用:UbbToHtmlForB("[b][b]a[/b]b")得到的结果是:<b>a</b><b>b</b>如果我想要得到<b><b>a</b></b><b>b</b>要怎么修改正则。
解决方案 »
- C# 完美屏蔽Ctrl+Alt+Del组合键 代码分享
- 打开文件夹,输入文件名
- C# htk語音
- Process.Start() 无法打开桌面的文件!???以及打开从数据库读取的文件问题!!!!!!---- 如何解决 马上送分!
- 如何用NUnit测试.EXE程序?
- 关于串口操作中想拿到返回数据的问题
- 用C#创建AD用户出错,以及怎么创建组和邮箱,恳请技术支援!谢谢
- ado.net的问题,up又分!!!
- 怎样在一个项目中,把所有新建的SqlCommand对象的CommandTimeOut属性都缺省为一个新值?
- aspnet_Users 竟然还残留用户信息的问题
- !:别告诉我你不知道...
- 我在outlook里加了Ribbon,为什么运行的时候没有反应,在word2007里就直接看到效果了
{
str = UbbToHtmlForB(str);
}
以上修改了一语句,免得出现死循环现象。
Help up!!!
要是从很多html中获得的话 就先match到再replace, 应该可以!
private string UbbToHtmlForB(string str)
{
string regex = "(\\)\\[(b)\\](a)\\[(/b)\\](\\)\\[(b)](b)\\[(/b)]"; string result=Regex.Replace(content, regex, "$1<$2>$3<$4>$5<$6>$7<$8>");
return result;
}