Есть несколько способов сделать это. Вы можете разделить строку на символ пробела, а затем передать ее в TStringList. Затем вы можете использовать свойство Value [String] TStringList, чтобы получить значение данного имени.
Для этого заменить строку на все пробелы запятыми:
newString := StringReplace(oldString, ' ', ',', [rfReplaceAll]);
Затем импортируйте результат в TStringList:
var
MyStringList : TStringList;
begin
MyStringList := TStringList.Create;
try
MyStringList.CommaText := StringReplace(oldString, ' ', ',', [rfReplaceAll]);
Result := MyStringList.Values['email'];
finally
MyStringList.Free;
end;
end;
Это даст вам значение электронной почты. Затем вам нужно будет разбить строку на символ «@», что является относительно тривиальным упражнением. Конечно, это работает, только если пробелы действительно являются разделителем между полями.
В качестве альтернативы вы можете использовать регулярные выражения, но Delphi не поддерживает их изначально (вам нужна библиотека регулярных выражений - см. здесь )
*** Примечание Smasher (D2006 +) Текст с разделителями / разделителями, который будет выглядеть примерно так:
MyStringList.Delimiter := ' ';
MyStringList.DelimitedText := oldString;
Result := MyStringList.Values['email'];