37.6.5 Specifying substrings
in expressions
You can determine the number of characters in a macro
variable, and use string operators to extract substrings from the value
of the variable. Table 37-9 lists
several of the string operators and shows how they are used in macro
expressions.
See also:
§37.6.2
Understanding operands and operators
Table 37-6 Operators
for HTML macro expressions
Table 37-9 String operators in macro
expressions
length
|
($$string length)
|
Integer
|
Number of characters in $$string
|
char
|
($$string char N)
|
String
|
Nth character in $$string, counting
from the left; the leftmost character is number 1
|
first
|
($$string first N)
|
String
|
First N characters of $$string
|
last
|
($$string last N)
|
String
|
Last N characters of $$string
|
before
|
($$string before $$str)
|
String
|
Substring that precedes the first (leftmost) occurrence
of $$str in $$string
|
after
|
($$string after $$str)
|
String
|
Substring that follows the first (leftmost) occurrence
of $$str in $$string
|
starts
|
($$string starts $$str)
|
Boolean
|
True if $$str is at the start of $$string
|
ends
|
($$string ends $$str)
|
Boolean
|
True if $$str is at the end of $$string
|
contains
|
($$string contains $$str)
|
Boolean
|
True if $$str occurs anywhere in $$string
|
trim first
|
($$string trim first N)
|
String
|
All but the first N characters of $$string
|
trim last
|
($$string trim last N)
|
String
|
All but the last N characters of $$string
|
replace with
|
($$string replace " " with
"_")
|
String
|
Each instance of first operand is replaced with second
operand
|
upper
|
($$string upper)
|
String
|
$$string is all
uppercase
|
lower
|
($$string lower)
|
String
|
$$string is all
lowercase
|
For example, to trim off the first four characters
of $$mystring:
<$$mystring = ($$yourstring trim first 4)>
If the value of $$yourstring is “makework”, the value
of $$mystring would be “work”.
Implied value of second
operand
If the second operand N is missing from
an expression that uses one of the following operators, a value of 1 (one) is assumed for N:
char
first
last
trim first
trim last
For example, to select only the last character, you
can omit the second operand:
<$$yourstring = ($$mystring last)>
If the value of $$mystring is “groceries”, the value
of $$yourstring would be “s”.
Previous Topic: 37.6.4.3 Using
loop structures
Next Topic: 37.6.6 Using
list variables in expressions
Parent Topic: 37.6 Using
expressions in macros
Sibling Topics:
37.6.1 Understanding
macro expressions
37.6.2 Understanding
operands and operators
37.6.3 Displaying
expression results in output
37.6.4 Using
control structures in expressions
37.6.6 Using
list variables in expressions
37.6.7 Using
indirection in expressions
37.6.8 Removing
spaces from strings: an example