首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

求解因特网址转换的正则表达式

2012-11-03 
求解网址转换的正则表达式原字符串格式:loc/Help/List-0018,0019.shtml/loc要求:1以.shtml .aspx为扩

求解网址转换的正则表达式
原字符串格式:
<loc>/Help/List-0018,0019.shtml</loc>
要求:
1>以.shtml .aspx为扩展名的超链接字符串
转换为目标网址:<loc>http://abc.sina.com.cn/Help/List-0018,0019.shtml</loc>

2>以.html .htm为扩展名的超链接字符串
转换为目标网址:<loc>http://www.sohu.com/Help/About Us.html</loc>
求解正则表达式,谢谢!

[解决办法]

探讨
原字符串格式:
<loc>/Help/List-0018,0019.shtml</loc>
要求:
1>以.shtml .aspx为扩展名的超链接字符串
转换为目标网址:<loc>http://abc.sina.com.cn/Help/List-0018,0019.shtml</loc>

2>以.html .htm为扩展名的超链接字符串
转换为目标网址:<loc>http://www.sohu.com/Help/About Us.html</loc>

[解决办法]
C# code
    string[] strarray = new string[] { @"<loc>/Help/List-0018,0019.shtml</loc>",@"<loc>/Help/About Us.html</loc>"};            string[] Replacestr = new string[] { @"http://abc.sina.com.cn",@"http://www.sohu.com"};            List<string> list = new List<string>();            foreach (string s in strarray)            {                if (s.Contains(".shtml") || s.Contains(".aspx"))                {                    string lstr = System.Text.RegularExpressions.Regex.Replace(s, @"(?<=<loc>).*?(?=/Help)", Replacestr[0]);                    list.Add(lstr);                }                if (s.Contains(".html") || s.Contains(".htm"))                {                    string lstr = System.Text.RegularExpressions.Regex.Replace(s, @"(?<=<loc>).*?(?=/Help)", Replacestr[1]);                    list.Add(lstr);                }            }            list.ForEach(x => Response.Write(x)); 

热点排行