Parse positive ints from a string that also includes text
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | line |
function parse_ints64(line) result(ints) character(len=*),intent(in) :: line integer(ip),dimension(:),allocatable :: ints ! array of integers integer(ip) :: i, j, n integer(ip) :: istart character(len=*),parameter :: tokens = '0123456789' n = len(line) istart = 0 allocate(ints(0)) do i = 1, n if (index(tokens,line(i:i))>0) then if (istart==0) istart = i else if (istart/=0) ints = [ints, int(line(istart:i-1), kind=ip)] ! get previous int istart = 0 end if end do if (istart/=0) ints = [ints, int(line(istart:n), kind=ip)] ! get last int end function parse_ints64