delphi 取出字符串中首两位的数字 如RB30 与 L15G3 与 LX20G3K0 取出 30 15 20
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button2: TButton;
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Function GetInt2(S:string):String;
var
S1,S2:String;
i,j:integer;
begin
result:='';
j:=1;
for i:=0 to length(S) do
begin
if (J=2) and ((Ord(S[i])>=48) and (Ord(S[i])<=57)) then
begin
S2:=S[i];
j:=0;
end;
if (J=1) and ((Ord(S[i])>=48) and (Ord(S[i])<=57)) then
begin
S1:=S[i];
j:=2;
end;
end;
if J=0 then result:=S1+S2;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
edit2.Text:=GetInt2(Edit1.text);
end;
end.
procedure TForm1.Button1Click(Sender: TObject);
var
Regex: TRegex;
begin
Regex := TRegex.Create("\d{2}", [roIgnoreCase]);
try
if Regex.Match("RB30").Success then
begin
ShowMessage(Regex.Match("RB30").Value);
end;
finally
end;
end;