ULSFindAttr

Searches a string for the first character that fits the specified attribute criterion.


 * NOTE: The 'start' and 'max' parameters both specify a number of characters, not a number of bytes. (In the case of MBCS codepages, these may not be the same thing).

Arguments
ULSFindAttr( string, attribute [, start] [, max] [, flag] [, codepage] [, locale])

Parameters

 * string:The input string to be searched.
 * attribute:The name of the attribute to search for. Valid attribute names are listed under the ULSQueryAttr function description. The name is not case sensitive.
 * start:The character position within the string to start searching from. Must fall between 1 and the string length (in characters). Defaults to 1 (the start of the string) if not specified.
 * max:The maximum number of characters to search. Defaults to the length of the string (in characters) if not specified.
 * flag:The type of search to perform. Only the first character is significant, and (if specified) must be one of the following values:
 * T = True: find the first character that matches the specified attribute. This is the default.
 * F = False: find the first character that does not match the specified attribute.


 * codepage:The source codepage (a positive integer). This is the codepage with which is encoded (i.e. under which it would display correctly). The default is the current process codepage.
 * locale:The name of the locale whose text-attribute rules are to be used. Locale names are usually of the form "xx_YY", where "xx" is a language and YY is a country (e.g. "en_US", "zh_TW", "it_IT", etc.) The default is to use the current locale as defined by the LANG and LC_* environment variables.

Return Value
The character position of the first match, or 0 if no matching characters were found. If an error occurs, an empty string ("") is returned and the global ULSERR variable will be set to a non-zero value.

Example
Example: Output: We had lunch at a caf‚ in Reykjav¡k. The first non-ASCII character is at position: 22