各オーバーロードの内容はプログラム中のコメントに
記載しました。
- program Project2;
- {$APPTYPE CONSOLE}
- {$R *.res}
- uses
- System.SysUtils;
- var
- s,s1 : string;
- elm : TArray<string>;
- elm2 : TArray<string>;
- //sh : TStringHelper;
- begin
- try
- { TODO -oUser -cConsole メイン : ここにコードを記述してください }
- //sh : TStringHelper
- s := 'ドッペ,パックン,ニーナ,,ベルト・サタン,,キノッピー';
- //Writeln(s);
- //カンマで分割
- //オーバーロードの1つ目、第二引数に正の整数を入れると
- //先頭から指定した個数だけ分割します。
- //分割できる数以上の数を指定すると無視します。
- //この場合は、ドッペとパックンだけを切り出します。
- elm := s.Split([','],2);
- write('overload1:');writeln(s);
- //分割した要素を表示
- for s1 in elm do
- begin
- writeln(s1);
- end;
- writeln;
- //結合(念のため文字列を初期化)
- //s := '';
- //Writeln(s);
- //s := s.Join(',',elm);
- //Writeln(s);
- //オーバーロードの2つ目、第二引数に
- //TStringSplitOptions.ExcludeEmptyを指定すると
- //空文字を無視して切り出します。
- //TStringSplitOptionsを指定しない場合、あるいは
- //TStringSplitOptions.Noneを指定した場合は
- //空文字も1つとして切り出します。
- elm2 := s.Split([','],TStringSplitOptions.None);
- write('overload2-1:');writeln(s);
- for s1 in elm2 do
- begin
- writeln(s1);
- end;
- writeln;
- elm2 := s.Split([','],TStringSplitOptions.ExcludeEmpty);
- write('overload2-2:');writeln(s);
- for s1 in elm2 do
- begin
- writeln(s1);
- end;
- writeln;
- //オーバーロードの3つ目、第二引数に正の整数を入れると
- //先頭から指定した個数だけ分割します。
- //このときTStringSplitOptions.ExcludeEmptyを指定すると
- //空文字を無視して切り出します。
- //TStringSplitOptionsを指定しない場合、あるいは
- //TStringSplitOptions.Noneを指定した場合は
- //空文字も1つとして切り出します。
- //この場合はベルト・サタンも切り出します。
- elm2 := s.Split([','],4,TStringSplitOptions.ExcludeEmpty);
- write('overload3:');writeln(s);
- for s1 in elm2 do
- begin
- writeln(s1);
- end;
- writeln;
- //オーバーロードの4つ目、セパレータに文字列を指定する
- //こともできます。
- //この場合は、ドッペ,パッと,ニーナ,,ベルト・サタン,,キノッピー
- //に分割されます。
- //(セパレータにCRLFを指定することが可能です。)
- elm2 := s.Split(['クン'],TStringSplitOptions.None);
- write('overload4:');writeln(s);
- for s1 in elm2 do
- begin
- writeln(s1);
- end;
- writeln;
- //オーバーロードの5つ目、セパレータに文字列を指定したうえで
- //分割した結果を取り出すことも可能です。
- //この場合は、ドッペ,パッだけを取り出します。
- //に分割されます。
- elm2 := s.Split(['クン'],1,TStringSplitOptions.None);
- write('overload5:');writeln(s);
- for s1 in elm2 do
- begin
- writeln(s1);
- end;
- writeln;
- readln;
- except
- on E: Exception do
- Writeln(E.ClassName, ': ', E.Message);
- end;
- end.
- </string></string>
で実際に実行した結果のビットマップが
です。
追伸:サンプルに使用した文字列がマイナーすぎたようなので、ちょっとだけわかりやすい
ものにしました。
0 件のコメント:
コメントを投稿