crop(3f) - [M_strings:WHITESPACE] trim leading and trailing blanks
and control characters from a string
(LICENSE:PD)
function crop(strin) result (strout)
character(len=*),intent(in) :: strin
character(len=:),allocatable :: strout
All control characters throughout the string are replaced with spaces
and leading and trailing spaces are trimmed from the resulting string.
Tabs are expanded assuming a stop every eight characters.
strin input string to trim leading and trailing space and control
characters from
strout cropped version of input string
Sample program:
program demo_crop
use M_strings, only: crop
implicit none
character(len=20) :: untrimmed = ' ABCDEFG abcdefg '
write(*,*) 'untrimmed string=[',untrimmed,']'
write(*,*) 'cropped string=[',crop(untrimmed),']'
end program demo_crop
Expected output
untrimmed string=[ ABCDEFG abcdefg ]
cropped string=[ABCDEFG abcdefg]
John S. Urban
Public Domain
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | strin |
function crop(strin) result (strout)
! ident_16="@(#) M_strings crop(3f) replace control characters with whitespace and trim leading and trailings spaces from resulting string"
character(len=*),intent(in) :: strin
character(len=:),allocatable :: strout
strout=trim(adjustl(noesc(dilate(strin))))
end function crop