parse positive ints from a string that also includes text
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | line |
function parse_ints(line) result(ints) character(len=*),intent(in) :: line integer,dimension(:),allocatable :: ints ! array of integers integer :: i, j, n integer :: 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))] ! get previous int istart = 0 end if end do if (istart/=0) ints = [ints, int(line(istart:n))] ! get last int end function parse_ints