C#怎么解析特定格式字符串

JasonXiaohan 2010-06-30 06:12:08
比如有一个字符串,格式为:
<ul id="mycarousel" class="jcarousel-skin-tango"> <li><img onerror=
"this.src='http://www.360buy.com/images/none/none_50.gif'" alt= "新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫" src=
"http://img10.360buyimg.com/S5/751/bc003c8b-e896-48ff-b096-2b535d3eec72.jpg"
name="751/bc003c8b-e896-48ff-b096-2b535d3eec72.jpg" /></li> <li><img onerror=
"this.src='http://www.360buy.com/images/none/none_50.gif'" alt= "新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫" src=
"http://img10.360buyimg.com/S5/967/ec79372b-5490-45ca-8510-b54390d9d158.jpg"
name="967/ec79372b-5490-45ca-8510-b54390d9d158.jpg" /></li> <li><img onerror=
"this.src='http://www.360buy.com/images/none/none_50.gif'" alt= "新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫" src=
"http://img10.360buyimg.com/S5/465/ebde2500-91f9-47d5-9ad5-5f686782d45c.jpg"
name="465/ebde2500-91f9-47d5-9ad5-5f686782d45c.jpg" /></li> <li><img onerror=
"this.src='http://www.360buy.com/images/none/none_50.gif'" alt= "新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫" src=
"http://img10.360buyimg.com/S5/743/cb76616a-14af-4e81-8dee-9db79d25a696.jpg"
name="743/cb76616a-14af-4e81-8dee-9db79d25a696.jpg" /></li> <li><img onerror=
"this.src='http://www.360buy.com/images/none/none_50.gif'" alt= "新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫" src=
"http://img10.360buyimg.com/S5/437/339984ce-bbdc-414a-b499-fd0745b4383b.jpg"
name="437/339984ce-bbdc-414a-b499-fd0745b4383b.jpg" /></li> </ul>
现在的目的就是,我想得到src标签后面的值,例如:http://img10.360buyimg.com/S5/751/bc003c8b-e896-48ff-b096-2b535d3eec72.jpg要的是这样的格式。请问各位大侠们怎么才能实现,谢谢!
...全文
278 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jmh521 2010-06-30
  • 打赏
  • 举报
回复
1.split...
2.substring...
mars199 2010-06-30
  • 打赏
  • 举报
回复
膜拜楼上三位
wuyq11 2010-06-30
  • 打赏
  • 举报
回复
Regex reg = new Regex(@"(?i)<img[^>]*?\ssrc\s*=\s*(['""]?)(?<src>[^'""\s>]+)\1[^>]*>");
MatchCollection mc = reg.Matches("");
foreach (Match m in mc)
{
Console.Write(m.Groups["src"].Value + "\n");
}
兔子-顾问 2010-06-30
  • 打赏
  • 举报
回复

private static void TestRegex01()
{
string html = @"<ul id=""mycarousel"" class=""jcarousel-skin-tango""> <li><img onerror=
""this.src='http://www.360buy.com/images/none/none_50.gif'"" alt= ""新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫"" src=
""http://img10.360buyimg.com/S5/751/bc003c8b-e896-48ff-b096-2b535d3eec72.jpg""
name=""751/bc003c8b-e896-48ff-b096-2b535d3eec72.jpg"" /></li> <li><img onerror=
""this.src='http://www.360buy.com/images/none/none_50.gif'"" alt= ""新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫"" src=
""http://img10.360buyimg.com/S5/967/ec79372b-5490-45ca-8510-b54390d9d158.jpg""
name=""967/ec79372b-5490-45ca-8510-b54390d9d158.jpg"" /></li> <li><img onerror=
""this.src='http://www.360buy.com/images/none/none_50.gif'"" alt= ""新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫"" src=
""http://img10.360buyimg.com/S5/465/ebde2500-91f9-47d5-9ad5-5f686782d45c.jpg""
name=""465/ebde2500-91f9-47d5-9ad5-5f686782d45c.jpg"" /></li> <li><img onerror=
""this.src='http://www.360buy.com/images/none/none_50.gif'"" alt= ""新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫"" src=
""http://img10.360buyimg.com/S5/743/cb76616a-14af-4e81-8dee-9db79d25a696.jpg""
name=""743/cb76616a-14af-4e81-8dee-9db79d25a696.jpg"" /></li> <li><img onerror=
""this.src='http://www.360buy.com/images/none/none_50.gif'"" alt= ""新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫"" src=
""http://img10.360buyimg.com/S5/437/339984ce-bbdc-414a-b499-fd0745b4383b.jpg""
name=""437/339984ce-bbdc-414a-b499-fd0745b4383b.jpg"" /></li> </ul>";
MatchCollection mc = Regex.Matches(html, @"(?is)(?<=<img.+?src=['""])http[^'""]+");
foreach (Match m in mc)
{
Console.WriteLine(m.Value);
}
}
jiangshun 2010-06-30
  • 打赏
  • 举报
回复
string str = @"<ul id=""mycarousel"" class=""jcarousel-skin-tango""> <li><img onerror=
""this.src='http://www.360buy.com/images/none/none_50.gif'"" alt= ""新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫"" src=
""http://img10.360buyimg.com/S5/751/bc003c8b-e896-48ff-b096-2b535d3eec72.jpg""
name=""751/bc003c8b-e896-48ff-b096-2b535d3eec72.jpg"" /></li> <li><img onerror=
""this.src='http://www.360buy.com/images/none/none_50.gif'"" alt= ""新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫"" src=
""http://img10.360buyimg.com/S5/967/ec79372b-5490-45ca-8510-b54390d9d158.jpg""
name=""967/ec79372b-5490-45ca-8510-b54390d9d158.jpg"" /></li> <li><img onerror=
""this.src='http://www.360buy.com/images/none/none_50.gif'"" alt= ""新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫"" src=
""http://img10.360buyimg.com/S5/465/ebde2500-91f9-47d5-9ad5-5f686782d45c.jpg""
name=""465/ebde2500-91f9-47d5-9ad5-5f686782d45c.jpg"" /></li> <li><img onerror=
""this.src='http://www.360buy.com/images/none/none_50.gif'"" alt= ""新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫"" src=
""http://img10.360buyimg.com/S5/743/cb76616a-14af-4e81-8dee-9db79d25a696.jpg""
name=""743/cb76616a-14af-4e81-8dee-9db79d25a696.jpg"" /></li> <li><img onerror=
""this.src='http://www.360buy.com/images/none/none_50.gif'"" alt= ""新贵(NEWMEN)小屁股 MP-201高级柔性护腕垫"" src=
""http://img10.360buyimg.com/S5/437/339984ce-bbdc-414a-b499-fd0745b4383b.jpg""
name=""437/339984ce-bbdc-414a-b499-fd0745b4383b.jpg"" /></li> </ul>";

Regex reg = new Regex(@"(?is)http://img10.360buyimg.com/\w+/\w+/[^\.]+.jpg");
MatchCollection mc = reg.Matches(str);

foreach (Match m in mc)
{
Console.WriteLine(m.Groups[0].ToString());
}

/*
http://img10.360buyimg.com/S5/751/bc003c8b-e896-48ff-b096-2b535d3eec72.jpg
http://img10.360buyimg.com/S5/967/ec79372b-5490-45ca-8510-b54390d9d158.jpg
http://img10.360buyimg.com/S5/465/ebde2500-91f9-47d5-9ad5-5f686782d45c.jpg
http://img10.360buyimg.com/S5/743/cb76616a-14af-4e81-8dee-9db79d25a696.jpg
http://img10.360buyimg.com/S5/437/339984ce-bbdc-414a-b499-fd0745b4383b.jpg
*/

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧