
نوشته شده توسط
khoshblagh
با سلام خدمت اساتید و دوستان
میخواهم از یک رشته که شامل شماره کارت بانکی و شماره های متفرقه که مورد نیاز نیست
شماره کارت بانکی را استخراح نمایم.مثل رشته زیر:
انتقال از اينترنت 17592030 ملي جديد از ک 6037991793133947 ش م 525556600405 ش پ 169944
همانطور که مشاهده میشود در رشته فوق 4 رشته عددی وجود دارد که رشته مورد نیاز همان عدد 16رقمی قرمز رنگ میباشد.البته در نت کدی که تمام 4 رشته عددی را با هم استخراج مینماید وجود دارد که مورد نظر نمیباشد.در حقیقت کد مورد نظر در جستجو خود دنبال رشته عدد 16 رقمی گشته و آنرا استخراج نماید.لطفا در این خصوص عنایت بفرمایید. متشکرم

uses
System.RegularExpressions;
function ExtractCardNumber(const Input: string): string;
var
Match: TMatch;
begin
Match := TRegEx.Match(Input, '\d{16}');
if Match.Success then
Result := Match.Value
else
Result := '';
end;
procedure TForm1.Button1Click(Sender: TObject);
var
InputString, CardNumber: string;
begin
InputString := 'انتقال از اينترنت 17592030 ملي جديد از ک 6037991793133947 ش م 525556600405 ش پ 169944';
CardNumber := ExtractCardNumber(InputString);
if CardNumber <> '' then
ShowMessage(CardNumber)
else
ShowMessage('شماره کارت پیدا نشد');
end;