upper_quoted(3f) - [M_strings:CASE] elemental function converts string to uppercase skipping strings quoted per Fortran syntax rules (LICENSE:PD)
Synopsis
Description
Options
Returns
Examples
See Also
Author
License
elemental pure function upper_quoted(str) result (string)
character(*), intent(in) :: str character(len(str)) :: string ! output string
upper_quoted(string) returns a copy of the input string with all not-quoted characters converted to uppercase, assuming ASCII character sets are being used. The quoting rules are the same as for Fortran source. Either a single or double quote starts a quoted string, and a quote character of the same type is doubled when it appears internally in the quoted string. If a double quote quotes the string single quotes may appear in the quoted string as single characters, and vice-versa for single quotes.
str string to convert to uppercase
upper copy of the input string with all unquoted characters converted to uppercase
Sample program:
program demo_upper_quoted use M_strings, only: upper_quoted implicit none character(len=:),allocatable :: s s=’ ABCDEFG abcdefg "Double-Quoted" ’’Single-Quoted’’ "with ""& & Quote" everything else’ write(*,*) ’mixed-case input string is ....’,s write(*,*) ’upper-case output string is ...’,upper_quoted(s) write(*,’(1x,a,*(a:,"+"))’) ’upper_quoted(3f) is elemental ==>’, & & upper_quoted(["abc","def","ghi"]) end program demo_upper_quotedExpected output:
mixed-case input string is .... ABCDEFG abcdefg "Double-Quoted" ... ... ’Single-Quoted’ "with "" Quote" everything else upper-case output string is ... ABCDEFG ABCDEFG "Double-Quoted" ... ... ’Single-Quoted’ "with "" Quote" EVERYTHING ELSE upper_quoted(3f) is elemental ==>ABC+DEF+GHI
flower(1)
John S. Urban
Public Domain
Nemo Release 3.1 | upper_quoted (3) | February 23, 2025 |