掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
文字と数字を分解するには (ID:1550)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
必ず、アルファベットと数値の順序であるのであれば、アルファベットの位置を探して、その間を数値として取得します。 それと、変数ごとに切り分けるのも、TStringList.Valuesで代用し、使用するときにStringList.Values['A']というようにします。 それを、次のようなプロシージャに投げてやれば入ります。 ただし、逆順序です^^; # LastDelimiterを使用しているため ざっと作ったので、もう少し高速化の余地はあると思います。 procedure ListFromString(lst: TStringList; Text: String); const C_ALPHA = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; var i, j: Integer; ParamName, ParamValue: String; begin j := StrLen(PChar(Text)); i := LastDelimiter(C_ALPHA, Text); while i > 0 do begin ParamName := Copy(Text, i, 1); ParamValue := Copy(Text, i+1, j - i); Lst.Values[UpperCase(ParamName)] := ParamValue; Text := Copy(Text, 1, i - 1); j := StrLen(PChar(Text)); i := LastDelimiter(C_ALPHA, Text); end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.