求一个c#正则表达式的写法

来源:百度知道 编辑:UC知道 时间:2024/06/15 19:43:12
有这样的字符串:“微软推出了[[word]],[[ppt]],[[excel]]等软件”,现在我想把那些[[]]去掉,把[[word]]换成:<a href=“search.aspx?kw=word” target=“-blank”>word</a>,怎么实现啊
ilikenet大哥,我采用你的方法出现一个问题,那就是有大量字符串的时候,只能处理前两个字符串,后面的就不能处理了,我改了很多数字,都不行,要不就是一串就连在一起了,是怎么回事

思路:
string str = “微软推出了[[word]],[[ppt]],[[excel]]等软件”;

首先,分别匹配这样的[[word]],把这个位置替换成{i}
string str = “微软推出了{0},{1},{2}等软件”;

再把[[word]]替换成word(带格式)

使用string.format(str ,"<....>","....")

也可以如下实现

例new Regex(@"(\[\[.{1,10}\]\])");

string s = @"微软推出了[[word]],[[word2]] ,[[excel]]等软件";
Regex regex = new Regex(@"(\[\[.{1,10}\]\])");
ArrayList change = new ArrayList();

for (int i = 0; i < regex.Match(s).Groups.Count; i++)
{
string ChangeValue = regex.Match(s).Groups[i].Value.ToString();
string Fvalue = ChangeValue.Replace("[", "").Replace("]", "");
string Nvalue = "<a href=“search.aspx?kw=word” target=“-blank”>" + Fvalue + "</a>";
s =