function u_i(string, substr) character (len=*), intent(in) :: string, substr integer :: i,j, c1, c2, u_i u_i = 0 out: do i=1,len(string)-len(substr)+1 c1 = iachar(string(i:i)) if (c1 >= iachar('a') .and. c1 <= iachar('z')) c1 = c1 - 32 do j=0,len(substr)-2 c2 = iachar(substr(j+1:j+1)) if (c2 >= iachar('a') .and. c1 <= iachar('z')) c2 = c2 - 32 if (c1 /= c2) cycle out end do u_i = i return end do out end function u_i ok = u_i(string, word) /= 0