strtrim(X;Y;C;D)
Returns the given string with certain characters trimmed from either or both ends.
Syntax
strtrim(X;Y;C;D)
bstrtrim(X;Y;C;D)
Input
| Argument | Type | Description |
|---|---|---|
X |
text | The string on which to apply the function A scalar value or the name of a column |
Y |
text | Y is the string containing a set of characters to trim (or not
trim) from XA scalar value or the name of a column |
C |
integer | Specifies whether the function trims X of all characters that
are either found in Y or not found in YIf
If
|
D |
integer | Specifies in which direction the trimming is performed If
If If |
Return Value
Returns the text value corresponding to the string X with characters from
the string Y trimmed from the left, the right, or both ends.
The function searches X for any character that is present in
Y (if C=0) or not present in
Y (if C=1).
The trimming begins from the left (i.e., the first matching characters in
X are trimmed) if D=1. The
trimming begins from the right (i.e., the last matching characters in X are
trimmed), if D=-1. Trimming proceeds from both ends
if D=0.
If X is N/A, then the result is N/A.
Y is N/A:- If
C=0, the result isXunchanged. - If
C=1, the result is N/A.
Sample Usage
value |
string2 |
present |
direction |
strtrim(value;string2;present;direction) |
|---|---|---|---|---|
| 'apple' | 'aeiou' | 0 | 1 | 'pple' |
| 'apple' | 'aeiou' | 0 | -1 | 'appl' |
| 'apple' | 'aeiou' | 0 | 0 | 'ppl' |
| 'apple' | 'aeiou' | 1 | 0 | 'apple' |
| '' | 'aeiou' | 0 | 1 | '' |
| 'apple' | '' | 0 | -1 | 'apple' |
Example
This example demonstrates how strtrim(X;Y;C;D) can be used to trim
trailing spaces from the end of a string.
<base table="default.lonely"/>
<willbe name="test" value="'a b c d e f g '"/>
<willbe name="test_cnt" value="strcount(test;' ')"/>
<willbe name="test_trim" value="strtrim(test;' ';0;-1)"/>
<willbe name="test_trim_cnt" value="strcount(test_trim;' ')"/>
The value of the string in the test column has five trailing spaces. The
value in the test_cnt column is 11, which is the total number of spaces in
the string in the test column.
The call to strtrim(test;' ';0;-1) in the test_trim
column takes the value in the test column and trims all spaces starting
from the rightmost character. The value in the test_trim_cnt column is 6,
which verifies that the trailing spaces no longer exist in the string in the
test_trim column.
Additional Information
strtrimis Unicode (UTF-8) compliant and will work with Unicode or plain ASCII text fields.- If passed a string argument that is not legal Unicode, it will by default signal an error (configurable as a user preference).
- A corresponding function
bstrtrimcan be used with non-Unicode strings (e.g., binary or legacy encodings).
