问题描述
要实现的功能如下将一段网页中的数字添加上链接比如<spanclass="t1">可乘坐K1或者7路公交<span>将要实现的效果如下<spanclass="t1">可乘坐<ahref="search.aspx?kw=K1">K1</a>或者<ahref="search.aspx?kw=7>"7</a>路公交<span>困难点如下,不可以替换标签中的数字,如上文中的t1是不可以替换的同时,某些空调车可能前面带有K字,还有可能是X。B。Y等字母。多谢各位了!
解决方案
解决方案二:
原理可能比较类似代码高亮。
解决方案三:
1、学习
解决方案四:
stringname="<spanclass="t1">可乘坐K1或者7路公交</span>";name=Regex.Replace(name,@"(?<=<.*?>)(.*)([KXBY]d+)(.*)(d+)(.*?)(?=<.*?>)","$1<ahref="search.aspx?kw=$2">$2</a>$3<ahref="search.aspx?kw=$4">$4</a>$5",RegexOptions.IgnoreCase);
解决方案五:
usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Text.RegularExpressions;/********************************************************************************正则表达式演示程序*作者:高宏伟(DukeJoe)*地点:黑龙江省哈尔滨市*QQ:21807822**时间:2008-8-112:05:47*开发环境:MicrosoftVisualStudio.NET2005*操作系统:WindowsXPHomeEditionServicePack2*注释:1、因为你的span里有一个t1,可能会和7混淆,我也不太清楚你项目里具体的命名*规则,所以我改动了一下t1,以免造成误解。*2、如果你认为t1需要保留,那是不是7的后面一定有一个路字,这些地方不知道在项*目中还有什么其它的规律,我没有随便乱猜你那边的情况。不过我看主要还是演示明*白如何使用正则表达式比较好,会用了之后你也可以自已改动一下,使表达式更符合*你的实际情况。祝好运******************************************************************************/namespacetest1{classProgram{staticvoidMain(string[]args){Regexrx=newRegex(@"(([KXBY]|[kxby])*(d+))");StringstrSample="<spanclass="joe">可乘坐K1或者7路公交<span>";StringstrReplace="<ahref="search.aspx?kw="$1">$1</a>";StringstrResult;strResult=Regex.Replace(strSample,rx.ToString(),strReplace);Console.WriteLine("结果={0}",strResult);}}}