如何找出指定字符串中的特定字符串?

unixpeter 2008-02-21 05:57:15
String a="string string ,,,,,,,ddddd <img src=\"/dddsfdsfsdfsdfsdfsdfsdsdfsd.gif\" /> ddd <img src=\"/dddsfdsfsdfsdfsdfsdfsdsdfsd.jpg\" />";
我想找出字符串a中如果有<img />这个东西,那么就找出src,请问怎么匹配表达式查询?
...全文
179 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
unixpeter 2008-02-22
  • 打赏
  • 举报
回复
thanks
unixpeter 2008-02-22
  • 打赏
  • 举报
回复
好,我试试
wheeler 2008-02-21
  • 打赏
  • 举报
回复
第一
关键字不是<img />,而是<img,详情请参阅W3C的HTML规范

第二
<img src="/dddsfdsfsdfsdfsdfsdfsdsdfsd.gif" />
<img src="/dddsfdsfsdfsdfsdfsdfsdsdfsd.gif"></img>
<img src=/dddsfdsfsdfsdfsdfsdfsdsdfsd.gif />
<img src=/dddsfdsfsdfsdfsdfsdfsdsdfsd.gif></img>
都是合法的书写方式
貌似用正则表达式匹配有点难

======================================================

List<string> result = new List<string>();
string a = "string string ddddd <img src=\"/dddsfdsfsdfsdfsdfsdfsdsdfsd.gif\"/> ddd <img src=\"/dddsfdsfsdfsdfsdfsdfsdsdfsd.jpg\" />";
int offset = 0;
while (offset < a.Length)
{
int swap = a.IndexOf("<img", offset);
if (swap == -1)
{
break;
}
int temp1 = a.IndexOf("src=", swap);
int temp2 = a.IndexOf(">", swap);
if (temp2 <= temp1)
{
continue;
}
string str = a.Substring(temp1 + 4,temp2 - temp1 - 4);
temp1 = str.IndexOf(" ");
if (temp1 != -1)
{
str = str.Substring(0, temp1);
str = str.Replace("\"", "");
}
else
{
temp1 = str.IndexOf("\"");
str = str.Substring(temp1+ 1,str.IndexOf("\"",temp1 + 1) - temp1 - 1);
}
result.Add(str);
offset = temp2 + 1;

结果都记录在result中
足球中国 2008-02-21
  • 打赏
  • 举报
回复
阅读正则表达式

110,549

社区成员

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

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

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