+ -
当前位置:首页 → 问答吧 → c# 取网页中间一段 求助

c# 取网页中间一段 求助

时间:2011-12-07

来源:互联网

原文:
<SPAN 
  style="COLOR: #006699" 
  id=ctl00_ctl00_ContentPlaceHolder1_left1_Label1><B>欢迎ID</B>:<FONT 
  class=uInfo>7973279
  </FONT><BR>&nbsp;&nbsp;&nbsp;<B>用户名</B>:<FONT 
  class=uInfo>jccshunfl
  </FONT><BR><B>&nbsp;&nbsp;&nbsp;昵&nbsp;&nbsp;&nbsp;称</B>:<FONT 
  class=uInfo>jccshunfl
  </FONT><BR></SPAN>

我想取里面的:7973279
不知道怎么取,求助!

作者: q031926   发布时间: 2011-12-07

using System.Text.RegularExpressions;

C# code
string source = @"<SPAN  
  style="COLOR: #006699"  
  id=ctl00_ctl00_ContentPlaceHolder1_left1_Label1><B>欢迎ID</B><FONT  
  class=uInfo>7973279
  </FONT><BR>&nbsp;&nbsp;&nbsp;<B>用户名</B><FONT  
  class=uInfo>jccshunfl
  </FONT><BR><B>&nbsp;&nbsp;&nbsp;昵&nbsp;&nbsp;&nbsp;称</B><FONT  
  class=uInfo>jccshunfl
  </FONT><BR></SPAN>";
string result = Regex.Match(source, "<B>欢迎ID</B>:<FONT\\r\\n\\s\\sclass=uInfo>(\\d+)\\r\\n", RegexOptions.IgnoreCase).Groups[1].Value;

作者: caozhy   发布时间: 2011-12-07

C# code
        string s = File.ReadAllText(Server.MapPath("~/test.txt"));
        Match match = Regex.Match(s, @"(?is)(?<=<span[^>]+>.*?<font[^>]+>)[^<]+(?=.*?</span>)");
        Response.Write(match.Value);

作者: dalmeeme   发布时间: 2011-12-07

为什么取不出呢 晕 谢谢楼上2位 辛苦了

作者: q031926   发布时间: 2011-12-07

引用 3 楼 q031926 的回复:
为什么取不出呢 晕 谢谢楼上2位 辛苦了

因为csdn排版的时候改变了每行的缩进和空格。

你得按照我的思路自行修改。

作者: caozhy   发布时间: 2011-12-07

C# code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string source = @"<SPAN  
  style=""COLOR: #006699""  
  id=ctl00_ctl00_ContentPlaceHolder1_left1_Label1><B>欢迎ID</B>:<FONT
  class=uInfo>7973279
  </FONT><BR>&nbsp;&nbsp;&nbsp;<B>用户名</B>:<FONT  
  class=uInfo>jccshunfl
  </FONT><BR><B>&nbsp;&nbsp;&nbsp;昵&nbsp;&nbsp;&nbsp;称</B>:<FONT  
  class=uInfo>jccshunfl
  </FONT><BR></SPAN>";
            string result = Regex.Match(source, @"<B>欢迎ID</B>:<FONT\r\n\s\sclass=uInfo>(.*?)\r\n\s\s</FONT>", RegexOptions.IgnoreCase).Groups[1].Value;
            Console.WriteLine(result);
        }
    }
}

作者: caozhy   发布时间: 2011-12-07

string stemp = @"<SPAN style=''COLOR: #006699'' id=ctl00_ctl00_ContentPlaceHolder1_left1_Label1><B>欢迎ID</B>:
  <FONT class=uInfo>7973279</FONT><BR>&nbsp;&nbsp;&nbsp;<B>用户名</B>:<FONT  
  class=uInfo>jccshunfl
  </FONT><BR><B>&nbsp;&nbsp;&nbsp;昵&nbsp;&nbsp;&nbsp;称</B>:<FONT  
  class=uInfo>jccshunfl
  </FONT><BR></SPAN>";
  Regex.Match(stemp, @"\d+(?=\s*</FONT>)").Groups[0].Value;

输出:7973279

作者: Tsapi   发布时间: 2011-12-07

作者: caozhy   发布时间: 2011-12-07

谢谢 我知道问题所在了 我就截取了网页的一段出来 导致你的例子不能取出

作者: q031926   发布时间: 2011-12-07

你们的例子是可以取出来的 不知道怎么样修改下 可以用整个网页

作者: q031926   发布时间: 2011-12-07

整个网页字太多发不上来了。。。

作者: q031926   发布时间: 2011-12-07

热门下载

更多