NOTSPACE Function
Searches a character string for a character that is not a whitespace character (blank, horizontal and vertical tab, carriage return, line feed, and form feed), and returns the first position at which that character is found.
| Categories: | Character |
| CAS | |
| Restriction: | This function is assigned an I18N Level 1 status. If possible, avoid I18N Level 1 functions if you are using a non-English language. Under certain circumstances, the I18N Level 1 functions might not work correctly with Double-Byte Character Set (DBCS) or Multi-Byte Character Set (MBCS) encodings. For more information, see Internationalization Compatibility. |
| Note: | This function supports the VARCHAR type. |
Syntax
Required Argument
string
is the character constant, variable, or expression to search.
Optional Argument
start
is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.
Details
-
If the value of start is positive, the search proceeds to the right.
-
If the value of start is negative, the search proceeds to the left.
-
If the value of start is less than the negative length of the string, the search begins at the end of the string.
-
The character that you are searching for is not found.
-
The value of start is greater than the length of the string.
-
The value of start = 0.
Comparisons
Examples
Example 1: Searching a String for a Character That Is Not a Whitespace Character
data _null_;
string='Next = _n_ + 12E3;';
j=0;
do until(j=0);
j=notspace(string, j+1);
if j=0 then put +3 "That's all";
else do;
c=substr(string, j, 1);
put +3 j= c=;
end;
end;
run;j=1 c=N j=2 c=e j=3 c=x j=4 c=t j=6 c== j=8 c=_ j=9 c=n j=10 c=_ j=12 c=+ j=14 c=1 j=15 c=2 j=16 c=E j=17 c=3 j=18 c=; That's all
Example 2: Identifying Control Characters By Using the NOTSPACE Function
data test; do dec=0 to 255; byte=byte(dec); hex=put(dec, hex2.); notspace=notspace(byte); output; end; proc print data=test; run;