Manual Reference Pages  - isalpha (3m_strings)

NAME

isalpha(3f) - [M_strings:COMPARE] returns .true. if character is a letter and .false. otherwise (LICENSE:PD)

CONTENTS

Synopsis
Description
Options
Returns
Examples
Author
License

SYNOPSIS

elemental function isalpha(onechar)

   character(len=*),intent(in) :: onechar
   logical              :: isalpha

DESCRIPTION

isalpha(3f) returns .true. if character is a letter and [char46]false. otherwise

OPTIONS

onechar
  character to test

RETURNS

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.

EXAMPLES

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)]

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

Results:

   > 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

AUTHOR

John S. Urban

LICENSE

Public Domain