isalpha(3f) - [M_strings:COMPARE] returns .true. if character is a letter and .false. otherwise (LICENSE:PD)
Synopsis
Description
Options
Returns
Examples
Author
License
elemental function isalpha(onechar)
character(len=*),intent(in) :: onechar logical :: isalpha
isalpha(3f) returns .true. if character is a letter and [char46]false. otherwise
onechar character to test
isalpha Returns .true. logical value if character is a ASCII letter or false otherwise. If a multi-byte string was input [char46]false. is returned if any character is not an ASCII letter. A null string returns .false.
Sample program
program demo_isalpha use M_strings, only : isalpha implicit none integer :: i character(len=*),parameter :: g=(*(g0,1x)) character(len=*),parameter :: c=(40(g0)) character(len=1),parameter :: string(*)=[(char(i),i=0,127)]Results:print g, basics print g, isalpha(a),isalpha(achar(9)) print * print g, elemental print g, isalpha([a,b,char(8),c,d,char(10)]) print * print g, print all the alphanumeric characters print c, pack( string, isalpha(string) ) print * print g, return false if any character is not printable print g, using ISALPHA(3): print g, isalpha(abcd) print g, isalpha(ab//char(0)//cd)
ALTERNATIVE : block ! ALTERNATIVE using VERIFY(3) ! the Fortran intrinsic function VERIFY(3) returns a position just ! not a logical like C, which can be useful for complex comparisons character(len=*),parameter :: low=abcdefghijklmnopqrstuvwxyz character(len=*),parameter :: up=ABCDEFGHIJKLMNOPQRSTUVWXYZ print g, using VERIFY(3): print g, verify(abcd, up//low) == 0 print g, verify(ab//char(0)//cd, up//low) == 0 endblock ALTERNATIVE
end program demo_isalpha
> basics > T F > > elemental > T T F T T F > > print all the alphanumeric characters > ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn > opqrstuvwxyz > > return false if any character is not printable > using ISALPHA(3): > T > F > using VERIFY(3): > T > F
John S. Urban
Public Domain
