Right 部分文字取り出し
Right 関数は指定した文字列の右端から指定文字数分取り出します。 Delphi では Copy
関数を使用します。
Copy 関数は文字列の右端から取り出すのではなく Mid 関数のように指定位置から指定文字数分の文字列を返します。
■ Copy の使用例 |
procedure TForm1.Button1Click(Sender: TObject); var S1, S2 : string; SW : WideString; begin S1 := 'Borland Delphi 5 Enterprise Edition'; S2 := Copy(S1,9,6); // "Delphi" S1 := 'プログラマの気炎'; S2 := Copy(S1,13,4); // "気炎" SW := 'プログラマの気炎'; S2 := Copy(SW,7,2); // "気炎" end; |
Delphi 6 からは RightStr 関数が追加されました。これを使うと
Right 関数と同じように記述できます。RightStr 関数で取り出しに指定するのはバイト数で、文字数ではありません。
※ uses 節に StrUtils を追加してください。
■ RightStr の使用例 |
procedure TForm1.Button2Click(Sender: TObject); const TEXT1 = 'Delphi'; TEXT2 = 'デルファイ'; var s : string; w : WideString; begin //半角文字列の右から1バイトを取得 s := RightStr(TEXT1, 1); ShowMessage(s); //結果 = i //全角文字列の右から2バイトを取得 s := RightStr(TEXT2, 2); ShowMessage(s); //結果 = イ //全角文字列の右から2文字を取得 w := WideString(TEXT2); s := Copy(w, Length(w) - 1, 2); ShowMessage(s); //結果 = ァイ end; |