Tokenize a string: Difference between revisions
Content added Content deleted
Line 23: | Line 23: | ||
end Parse_Commas; |
end Parse_Commas; |
||
</Ada> |
</Ada> |
||
=={{header|ALGOL 68}}== |
|||
main:( |
|||
OP +:= = (REF FLEX[]STRING list, STRING item)VOID:( |
|||
HEAP [LWB list: UPB list+1]STRING out; |
|||
out[LWB list: UPB list]:=list; |
|||
out[UPB out]:=item; |
|||
list := out |
|||
); |
|||
PROC split = (STRING string, sep)[]STRING:( |
|||
FLEX[1:0]STRING out; |
|||
INT start := 1, pos; |
|||
WHILE string in string(sep, pos, string[start:]) DO |
|||
out +:= string[start:start+pos-2]; |
|||
start +:= pos + UPB sep - 1 |
|||
OD; |
|||
IF start > LWB string THEN |
|||
out +:= string[start:] |
|||
FI; |
|||
out |
|||
); |
|||
printf(($g"."$, split("Hello,How,Are,You,Today",","),$l$)) |
|||
) |
|||
Output:<pre> |
|||
Hello.How.Are.You.Today. |
|||
</pre> |
|||
=={{header|C}}== |
=={{header|C}}== |
||