count_substring Function

public pure function count_substring(substring, string) result(res)

@brief This function return count of substring in string @author Igor S. Gerasimov @date Sep, 2019 --Initial release-- @date May, 2021 Moved to strings @param substring - (in) @param string - (in)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: substring
character(len=*), intent(in) :: string

Return Value integer


Source Code

  pure integer function count_substring(substring, string) result(res)
    character(len=*), intent(in) :: substring, string
    ! internal variables
    character(len=:), allocatable :: tmp_string
    res = 0
    tmp_string = string
    do
      if (index(tmp_string, substring) == 0) exit
      res = res+1
      tmp_string = tmp_string(index(tmp_string, substring)+1:)
    end do
    return
  end function count_substring