test if a CHARACTER string begins with a specified prefix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | s | |||
character(len=*), | intent(in) | :: | e | |||
logical, | intent(in), | optional | :: | case_sensitive |
pure logical function str_begins_with_str(s, e, case_sensitive) result(r) character(*), intent(in) :: s, e logical, optional, intent(in) :: case_sensitive ! Default option: case sensitive integer :: n1, n2 logical :: lower_case ! Check if case sensitive if (present(case_sensitive)) then lower_case = .not.case_sensitive else lower_case = .false. end if n1 = 1 n2 = 1 + len(e)-1 if (n2 > len(s)) then r = .false. elseif (lower_case) then r = lower(s(n1:n2)) == lower(e) else r = (s(n1:n2) == e) end if end function str_begins_with_str