How to get the last word of a string in Pascal

1 Answer

0 votes
program LastWordDemo;

uses
  SysUtils;

function GetLastWord(const S: string): string;
var
  Trimmed: string;
  PosSpace: Integer;
begin
  // Remove leading/trailing whitespace
  Trimmed := Trim(S);

  // If empty after trimming, return empty string
  if Trimmed = '' then
    Exit('');

  // Find the last space
  PosSpace := LastDelimiter(' ', Trimmed);

  // If no space found, return the whole trimmed string
  if PosSpace = 0 then
    Exit(Trimmed);

  // Return substring after the last space
  GetLastWord := Copy(Trimmed, PosSpace + 1, Length(Trimmed) - PosSpace);
end;

var
  Tests: array[1..5] of string;
  I: Integer;
begin
  Tests[1] := 'vb.net javascript php c c++ c# python pascal';
  Tests[2] := '';
  Tests[3] := 'c#';
  Tests[4] := 'c c++ java ';
  Tests[5] := '  ';

  for I := 1 to 5 do
    Writeln(I, '. ', GetLastWord(Tests[I]));
end.



(*
run:

1. pascal
2. 
3. c#
4. java
5. 

*)

 



answered Mar 27 by avibootz
...