TStringHelper.Splitを使用してスペース区切り文字で文字列を分割し、最後の文字列を取得します。
function FilterIP(const s: String): String;
var
splitted: TArray<String>;
begin
if (s = '') then
Result := ''
else begin
splitted := s.Split([' ']);
Result := splitted[Length(splitted)-1];
end;
end;
myEdit.Text := FilterIP(MyMemo[myLine]);
StrUtils.SplitStringを使用して文字列を分割することもできます。
Delphi-7 では、以下を使用できますDelimitedText in TStringList
。
sList.Delimiter := ' ';
sList.DelimitedText := s;
文字列を分割する他の方法については、こちらを参照してください。
David がコメントで述べたように、文字列の後ろからスペース区切り文字を検索することで、未使用の文字列の割り当てをスキップできます。これはSysUtils.LastDelimiterで行うことができます:
function FilterIP(const s: String): String;
var
lastIx: Integer;
begin
lastIx := LastDelimiter(' ',s);
if (lastIx > 0) then
Result := Copy(s,lastIx+1)
else
Result := '';
end;