Left-most position of a lowercase letter in a string
POSLOWER( <cString>, [<lMode>], [<nIgnore>] ) -> nPosition
<cString> Designates the string that is searched.
<lMode> Designates how the function searches for the first lower case alphabetic character. The default value (.F.) searches for the first alphabetic character that can be changed by the Harbour function UPPER().
<nIgnore> Designates the number of characters at the beginning of the character string that are excluded from the search. The default value excludes none (0).
The value returned corresponds to the position of the character located. When no matching character is found, the function returns 0.
Starting from the beginning of the string, POSLOWER() searches for the first lower case alphabetic character in <cString>. If <lMode> is .T., the function searches for the first non-alphabetic character that would not be changed by UPPER(). The <nIgnore> parameter excludes a specific number of characters at the beginning of the <cString> from the search.
. Characters located when the <lMode> parameter is designated as .T. are not necessarily upper case, alphabetic characters. . The function works in conjunction with the NATION module because different languages use different characters to represent their alphabets.
cString := "123ABCuabc" ? POSLOWER(cString) // Result: 7 ? POSLOWER(cString, .T.) // Result: 1 ? POSLOWER(cString, .F., 7) // Result: 8
POSLOWER() is compatible with CT3’s POSLOWER().
Source is pos1.c, library is libct.
POSALPHA(), POSUPPER(), POSRANGE()