to_title Function

public elemental function to_title(string) result(title_string)

Converts character sequence to title case

Version: experimental

Arguments

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

Return Value character(len=len)


Calls

proc~~to_title~~CallsGraph proc~to_title to_title proc~char_to_lower char_to_lower proc~to_title->proc~char_to_lower proc~char_to_upper char_to_upper proc~to_title->proc~char_to_upper proc~is_alphanum is_alphanum proc~to_title->proc~is_alphanum

Variables

Type Visibility Attributes Name Initial
logical, private :: capitalize_switch
integer, private :: i

Source Code

   elemental function to_title(string) result(title_string)
      character(len=*), intent(in) :: string
      character(len=len(string)) :: title_string
      integer :: i
      logical :: capitalize_switch

      capitalize_switch = .true.
      do i = 1, len(string)
         if (is_alphanum(string(i:i))) then
            if (capitalize_switch) then
               title_string(i:i) = char_to_upper(string(i:i))
               capitalize_switch = .false.
            else
               title_string(i:i) = char_to_lower(string(i:i))
            end if
         else
            title_string(i:i) = string(i:i)
            capitalize_switch = .true.
         end if
      end do

   end function to_title