Rexx Programming/How to Rexx/case conversion
The rexx scripting language does not provide dedicated functions for converting strings to uppercase or to lowercase. However, there are solutions available:
Converting a string to uppercase
If the translate function is used with only one argument is used, it will convert all alphabetical characters in a string to uppercase:
mystring="I want to go to the BIG APPLE" ustring = translate(mystring) say ustring
Converting a string to lowercase
Conversion to lowercase lettering is a bit more tricky, because there is no dedicated inbuilt function for lowercase conversion. In order to translate a string into lowercase, it is necessary to provide a set of uppercase and lowercase letters, and use the translate function to perform conversion:
upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' lower = 'abcdefghijklmnopqrstuvwxyz' mystring="I want to go to the BIG APPLE" lstring = translate(mystring, lower, upper) say lstring
Converting a string using PIPE
If the PIPE commands are available, there is a stage called XLATE which can provide case conversion.
name = 'eric' 'PIPE VAR name | XLATE UPPER | VAR name' SAY name Shows 'ERIC'
name = 'ERIC' 'PIPE VAR name | XLATE LOWER | VAR name' SAY name Shows 'eric'
name = 'eric' 'PIPE VAR name | XLATE 1 UPPER | VAR name' SAY name Shows 'Eric'
name = 'ERIC' 'PIPE VAR name | XLATE 2-4 LOWER | VAR name' SAY name Shows 'Eric'