Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Challenge - Creative Way To Detect Alpha Characters

by UnderMine (Friar)
on Sep 13, 2004 at 22:22 UTC ( [id://390682]=note: print w/replies, xml ) Need Help??


in reply to Challenge - Creative Way To Detect Alpha Characters

Given that your language is limited and '||' concatanates stings I would guess at SQL.
CASE WHEN LOWER(foo) = UPPER(foo) THEN 'No Alpha' ELSE 'Alpha' END
However in some SQL varients you can use translate (has an effect like tr///)
CASE WHEN INSTR(TRANSLATE(foo, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'), 'X')>0 THEN 'Alpha' ELSE 'No Alpha' END
Or Even
CASE WHEN LENGTH(TRANSLATE(foo, '#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '#'))<>LENGTH(foo) THEN 'Alpha' ELSE 'No Alpha' END
Hope it Helps UnderMine

Replies are listed 'Best First'.
Re^2: Challenge - Creative Way To Detect Alpha Characters
by jdalbec (Deacon) on Sep 14, 2004 at 02:22 UTC
    My guess would be REXX.

      I first thought it could be maple. Maple uses || for string catenation (in version 5 and 7, version 3 uses .). It does not have regexps.

      However, maple (version 7 at least) has string functions to do this:

      with(StringTools): str:="2-h/": if ""<>Select(IsAlpha, str) then `has alphas` else `no alphas` fi; str:="2-/": if ""<>Select(IsAlpha, str) then `has alphas` else `no alphas` fi;

      ... in that case ...

      /* rexx */ strings.1 = 85865487878 strings.2 = 'oewiopeoewirpo iep ' strings.3 = '4889jfkjdk' strings.4 = 'hfhjh 767484' strings.5 = '<&jZ>(){}' strings.6 = '<&>(){}' do i = 1 to 6 say has_alpha(strings.i) '-> alpha? ' "'"strings.i"'" end exit has_alpha: procedure parse upper arg string if (length(string) = 0 | datatype(string) = 'NUM') then return 0 start = c2d( 'A' ) stop = c2d( 'Z' ) do while start <= stop if ( pos(d2c(start) , string) \= 0 ) then return 1 start = start +1 end return 0

      ...which gives...

      0 -> alpha?  '85865487878'
      1 -> alpha?  'oewiopeoewirpo iep '
      1 -> alpha?  '4889jfkjdk'
      1 -> alpha?  'hfhjh 767484'
      1 -> alpha?  '<&jZ>(){}'
      0 -> alpha?  '<&>(){}'
      

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://390682]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (4)
As of 2024-04-19 04:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found