ある文字列と文字列を比較して、一致しているかどうかの確認方法は?

解決


たぁぁ  2004-11-29 00:02:48  No: 11960

例えば、[sfQZ]と[sSZY]を比べて、
両方に、[s][Z]が含まれています。
この状態で、'2文字一致した'という結果を出したいんです。
この例で言うと[Z]のように、文字列の中の何番目にあるのかは関係無く、
両方に存在するかしないかの確認だけでいいんです。
またこの例の通り、4文字と4文字の文字列同士の確認のみです。
文字列の構成要素は、a〜z,A〜Zの52文字です。
一応考えたのは、a〜z,A〜Zを一文字ずつ、両方の文字列の一文字ずつ照らし合わせる方法と、
文字列を一文字ずつに分解して照らし合わせる方法なんですが、
いい方法ありませんか?
よろしくお願いします。


りおりお  2004-11-29 00:55:18  No: 11961

function HowManyMatch(s1,s2:string):integer;
var
  i:integer;
begin
  result := 0;
  for i := 1 to 4 do
    if StrScan(PChar(s1),s2[i]) <> nil then Inc(result);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Caption := IntToStr(HowManyMatch('sfQZ','sSZY'));
end;


たぁぁ  2004-11-29 02:03:14  No: 11962

出来ました。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加