RosettaCodeData/Task/Tokenize-a-string/Ada/tokenize-a-string.ada

22 lines
746 B
Ada
Raw Permalink Normal View History

2020-02-17 23:21:07 -08:00
with Ada.Text_IO, Ada.Containers.Indefinite_Vectors, Ada.Strings.Fixed, Ada.Strings.Maps;
use Ada.Text_IO, Ada.Containers, Ada.Strings, Ada.Strings.Fixed, Ada.Strings.Maps;
2013-04-11 01:07:29 -07:00
2020-02-17 23:21:07 -08:00
procedure Tokenize is
package String_Vectors is new Indefinite_Vectors (Positive, String);
use String_Vectors;
Input : String := "Hello,How,Are,You,Today";
Start : Positive := Input'First;
Finish : Natural := 0;
Output : Vector := Empty_Vector;
2017-09-23 10:01:46 +02:00
begin
2020-02-17 23:21:07 -08:00
while Start <= Input'Last loop
Find_Token (Input, To_Set (','), Start, Outside, Start, Finish);
exit when Start > Finish;
Output.Append (Input (Start .. Finish));
Start := Finish + 1;
2018-06-22 20:57:24 +00:00
end loop;
2020-02-17 23:21:07 -08:00
for S of Output loop
Put (S & ".");
end loop;
end Tokenize;