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

查找提取出html 里面的联系人信息(公司名称,电话,地址等),用pos和copy 还是用正则 来提取、具体如何实现

2012-03-21 
查找提取出html 里面的联系人信息(公司名称,电话,地址等),用pos和copy 还是用正则 来提取、?具体怎么实现?

查找提取出html 里面的联系人信息(公司名称,电话,地址等),用pos和copy 还是用正则 来提取、?具体怎么实现?
查找提取出html 里面的联系人信息(公司名称,电话,地址等),
用pos和copy 还是用正则 来提取、? 
具体怎么实现?
 有没有delphi达人来帮一下我的忙啊。
  谢谢了。

[解决办法]
建议你还是在文件中查找“相关”的关键字
再针对性的处理即可

[解决办法]
用pos和copy,正则应该都可以

不过你要讲清楚公司名称,电话,地址 。。。等等要取的内容是放在什么标签里面
或者是什么的格式才算是要取的内容
[解决办法]
你可以在HTML中读取格式,并取出相关参数即可

[解决办法]
用易语言的工具,可以快速分析网页,匹配自己的正则,对编写这一类的软件很有帮助。
[解决办法]
当然是正则表达式啦 快速准确!
另外 不知道楼主顶上去想要表达什么 楼上的几十个回复不是已经很清楚了吗?
[解决办法]
delphi 7 的正则不是原生的,后来我改用python来做了
[解决办法]
用正则表达式,有一个perl单元
[解决办法]
delphi实现正则有点难度(我没有用过)

我这有几个以前做项目写的几个函数,有用就拿去

Delphi(Pascal) code
function FindStr(ShortStr: string; LongStrIng: string): Integer;//在一个字符串中找某个字符的位置var     locality: integer;begin     locality := Pos(ShortStr, LongStrIng);     if locality = 0 then          Result := 0     else          Result := locality;end;//取得某个字符后所有字符function getends(s, s1: string): string;var     i1, i2: integer;begin     i1 := FindStr(s1, s) + length(s1);     i2 := length(s);     result := copy(s, i1, i2 - i1 + 1);end;function copyab(s, s1: string; s2: string): string;var     i1, i2: integer;begin     i1 := pos(s1, s);     i2 := pos(s2, s);     result := copy(s, i1 + length(s1), i2 - i1 - length(s1));end;function formattext(s: string): string;begin     s := trim(s);     s := stringreplace(s, #13, '', [rfreplaceall]);     s := stringreplace(s, #13#10, '', [rfreplaceall]);     s := stringreplace(s, #10#13, '', [rfreplaceall]);     s := stringreplace(s, #10, '', [rfreplaceall]);     s := stringreplace(s, '        ', '|', [rfreplaceall]);     s := stringreplace(s, '      ', '', [rfreplaceall]);     s := stringreplace(s, '                 ', '', [rfreplaceall]);     s := stringreplace(s, ' ', '', [rfreplaceall]);     result := s;end;procedure SeparateTerms(s: string; Separator: char; Terms: TStringList);//分割字符串过程var     hs: string;     p: integer;begin     Terms.Clear; // 清除字符串中的内容     if Length(s) = 0 then // 长度为0          Exit;     p := Pos(Separator, s);     while P <> 0 do     begin          hs := Copy(s, 1, p - 1); // 复制字符          Terms.Add(hs); // 添加到列表          Delete(s, 1, p); // 删除字符和分割符          p := Pos(Separator, s); // 查找分割符     end;     if Length(s) > 0 then          Terms.Add(s); // 添加剩下的条目end;function delm(s: string): string;begin     if pos(':', s) = 1 then          result := stringreplace(s, ':', '', [rfreplaceall])     else          result := s;end;//格式化后不保留回车function ReplaceSub(str, sub1, sub2: string): string;var     aPos: Integer;     rslt: string;begin     aPos := Pos(sub1, str);     //取得子字符串的位置     rslt := '';     while (aPos <> 0) do     begin          rslt := rslt + Copy(str, 1, aPos - 1) + sub2;          Delete(str, 1, aPos + Length(sub1));          //删除要替换的字符串          aPos := Pos(sub1, str);     end;     Result := rslt + str;     //添加要字符串end; 

热点排行