Tokenize a string: Difference between revisions
Content added Content deleted
No edit summary |
(Improved Ada example) |
||
Line 144: | Line 144: | ||
=={{header|Ada}}== |
=={{header|Ada}}== |
||
<lang ada> |
<lang ada> |
||
with Ada.Text_IO, Ada.Containers.Indefinite_Vectors; |
with Ada.Text_IO, Ada.Containers.Indefinite_Vectors, Ada.Strings.Fixed, Ada.Strings.Maps; |
||
use |
use Ada.Text_IO, Ada.Containers, Ada.Strings, Ada.Strings.Fixed, Ada.Strings.Maps; |
||
procedure |
procedure Tokenize is |
||
package |
package String_Vectors is new Indefinite_Vectors (Positive, String); |
||
use String_Vectors; |
|||
Input : String := "Hello,How,Are,You,Today"; |
|||
current : Positive := s'First; |
|||
Start : Positive := Input'First; |
|||
Finish : Natural := 0; |
|||
Output : Vector := Empty_Vector; |
|||
begin |
begin |
||
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; |
|||
end loop; |
end loop; |
||
for |
for S of Output loop |
||
Put (S & "."); |
|||
end tokenize; |
|||
end loop; |
|||
end Tokenize; |
|||
</lang> |
</lang> |
||