读书人

怎么匹配查找字符串

发布时间: 2012-03-28 15:40:03 作者: rapoo

如何匹配查找字符串
比如有一个文本中,有一句 “你是第122名”,122是不确定的,有没有快速的方法能找出这一句?
最好是这样的,用 你是第*名,然后自动就把这一句读取出来了或者是读出122

[解决办法]
正则表达式可以查出

Delphi(Pascal) code
你是第(\d+)名
[解决办法]
Delphi(Pascal) code
procedure TForm1.FormCreate(Sender: TObject);  function SearchIt(Src: PChar): PChar;  var    P: PChar;  label _notFound;  begin    P := AnsiStrPos(Src, PChar('你是第'));    if P = nil then goto _notFound;    Result := P;    Inc(P, 6);    while P^ in ['0'..'9'] do Inc(P);    if (P - Result = 6) or (P <> AnsiStrPos(P, '名')) then goto _notFound;    Exit;  _notFound:    Result := nil  end;var  S: string;begin  S := SearchIt('aaa你是第123名');//返回“你是第123名”  S := SearchIt('aaa你是第a123名');//返回空  ShowMessage(S);end; 

读书人网 >.NET

热点推荐