如何匹配查找字符串
比如有一个文本中,有一句 “你是第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;