29 lines
540 B
ObjectPascal
29 lines
540 B
ObjectPascal
|
program last_word;
|
||
|
|
||
|
{$mode objfpc}{$H+}
|
||
|
|
||
|
type TCharSet = set of Char;
|
||
|
|
||
|
function LastWord(const aPhrase: string; separators: TCharSet): String;
|
||
|
var L, p: integer;
|
||
|
begin
|
||
|
L := Length(aPhrase);
|
||
|
|
||
|
if (L=0) or (separators=[]) then Exit('');
|
||
|
|
||
|
for p := L downto 1 do
|
||
|
if not (aPhrase[p] in separators)
|
||
|
then
|
||
|
Result := aPhrase[p] + Result
|
||
|
else Break;
|
||
|
end;
|
||
|
|
||
|
var s: string;
|
||
|
begin
|
||
|
repeat
|
||
|
Write('Enter a phrase (or nothing to Quit): ');
|
||
|
ReadLn(s);
|
||
|
WriteLn('The last word of "', s, '" is: "', LastWord(s, [' ']), '"');
|
||
|
until (s='')
|
||
|
end.
|