Description
Description
After iso_varying_string
was abandoned there were proposals like (18-259r2.txt) to keep at least some of the procedures including:
EXTRACT() copies a substring from a string
INSERT() inserts a substring into a string at a location
REMOVE() removes a substring from a string
REPLACE() replace characters by a substring (which is specified variously)
SPLIT() split a string into two where a character from a set is found
For the intrinsic character type, extracting or replacing a single substring can be achieved using sub-string indexing. I believe these functions were aimed at the string derived type. I'll edit this post with the full descriptions once I find the full Fortran committee documents.
Prior Art
We already have an issue tracking SPLIT
(#241).
We also have an issue for REPLACE
(#366) but I haven't checked how similar the J3 and our proposal are.
Implementation of the iso_varying_string
versions can be found in Brad's repository: https://gitlab.com/everythingfunctional/iso_varying_string/-/blob/main/src/iso_varying_string.f90#L197