339 lines
20 KiB
HTML
339 lines
20 KiB
HTML
|
<HTML><HEAD><TITLE>Tcl Built-In Commands - string manual page</TITLE></HEAD><BODY>
|
||
|
<DL>
|
||
|
<DD><A HREF="string.htm#M2" NAME="L1104">NAME</A>
|
||
|
<DL><DD>string - Manipulate strings</DL>
|
||
|
<DD><A HREF="string.htm#M3" NAME="L1105">SYNOPSIS</A>
|
||
|
<DL>
|
||
|
<DD><B>string </B><I>option arg </I>?<I>arg ...?</I>
|
||
|
</DL>
|
||
|
<DD><A HREF="string.htm#M4" NAME="L1106">DESCRIPTION</A>
|
||
|
<DL>
|
||
|
<DD><A HREF="string.htm#M5" NAME="L1107"><B>string bytelength </B><I>string</I></A>
|
||
|
<DD><A HREF="string.htm#M6" NAME="L1108"><B>string compare</B> ?<B>-nocase</B>? ?<B>-length int</B>? <I>string1 string2</I></A>
|
||
|
<DD><A HREF="string.htm#M7" NAME="L1109"><B>string equal</B> ?<B>-nocase</B>? ?<B>-length int</B>? <I>string1 string2</I></A>
|
||
|
<DD><A HREF="string.htm#M8" NAME="L1110"><B>string first </B><I>string1 string2</I> ?<I>startIndex</I>?</A>
|
||
|
<DD><A HREF="string.htm#M9" NAME="L1111"><B>string index </B><I>string charIndex</I></A>
|
||
|
<DL>
|
||
|
<DD><A HREF="string.htm#M10" NAME="L1112"><I>integer</I></A>
|
||
|
<DD><A HREF="string.htm#M11" NAME="L1113"><B>end</B></A>
|
||
|
<DD><A HREF="string.htm#M12" NAME="L1114"><B>end-</B><I>integer</I></A>
|
||
|
</DL>
|
||
|
<DD><A HREF="string.htm#M13" NAME="L1115"><B>string is </B><I>class</I> ?<B>-strict</B>? ?<B>-failindex </B><I>varname</I>? <I>string</I></A>
|
||
|
<DL>
|
||
|
<DD><A HREF="string.htm#M14" NAME="L1116"><B>alnum</B></A>
|
||
|
<DD><A HREF="string.htm#M15" NAME="L1117"><B>alpha</B></A>
|
||
|
<DD><A HREF="string.htm#M16" NAME="L1118"><B>ascii</B></A>
|
||
|
<DD><A HREF="string.htm#M17" NAME="L1119"><B>boolean</B></A>
|
||
|
<DD><A HREF="string.htm#M18" NAME="L1120"><B>control</B></A>
|
||
|
<DD><A HREF="string.htm#M19" NAME="L1121"><B>digit</B></A>
|
||
|
<DD><A HREF="string.htm#M20" NAME="L1122"><B>double</B></A>
|
||
|
<DD><A HREF="string.htm#M21" NAME="L1123"><B>false</B></A>
|
||
|
<DD><A HREF="string.htm#M22" NAME="L1124"><B>graph</B></A>
|
||
|
<DD><A HREF="string.htm#M23" NAME="L1125"><B>integer</B></A>
|
||
|
<DD><A HREF="string.htm#M24" NAME="L1126"><B>lower</B></A>
|
||
|
<DD><A HREF="string.htm#M25" NAME="L1127"><B>print</B></A>
|
||
|
<DD><A HREF="string.htm#M26" NAME="L1128"><B>punct</B></A>
|
||
|
<DD><A HREF="string.htm#M27" NAME="L1129"><B>space</B></A>
|
||
|
<DD><A HREF="string.htm#M28" NAME="L1130"><B>true</B></A>
|
||
|
<DD><A HREF="string.htm#M29" NAME="L1131"><B>upper</B></A>
|
||
|
<DD><A HREF="string.htm#M30" NAME="L1132"><B>wordchar</B></A>
|
||
|
<DD><A HREF="string.htm#M31" NAME="L1133"><B>xdigit</B></A>
|
||
|
</DL>
|
||
|
<DD><A HREF="string.htm#M32" NAME="L1134"><B>string last </B><I>string1 string2</I> ?<I>startIndex</I>?</A>
|
||
|
<DD><A HREF="string.htm#M33" NAME="L1135"><B>string length </B><I>string</I></A>
|
||
|
<DD><A HREF="string.htm#M34" NAME="L1136"><B>string map</B> ?<B>-nocase</B>? <I>charMap string</I></A>
|
||
|
<DD><A HREF="string.htm#M35" NAME="L1137"><B>string match</B> ?<B>-nocase</B>? <I>pattern</I> <I>string</I></A>
|
||
|
<DL>
|
||
|
<DD><A HREF="string.htm#M36" NAME="L1138"><B>*</B></A>
|
||
|
<DD><A HREF="string.htm#M37" NAME="L1139"><B>?</B></A>
|
||
|
<DD><A HREF="string.htm#M38" NAME="L1140"><B>[</B><I>chars</I><B>]</B></A>
|
||
|
<DD><A HREF="string.htm#M39" NAME="L1141"><B>\</B><I>x</I></A>
|
||
|
</DL>
|
||
|
<DD><A HREF="string.htm#M40" NAME="L1142"><B>string range </B><I>string first last</I></A>
|
||
|
<DD><A HREF="string.htm#M41" NAME="L1143"><B>string repeat </B><I>string count</I></A>
|
||
|
<DD><A HREF="string.htm#M42" NAME="L1144"><B>string replace </B><I>string first last</I> ?<I>newstring</I>?</A>
|
||
|
<DD><A HREF="string.htm#M43" NAME="L1145"><B>string tolower </B><I>string</I> ?<I>first</I>? ?<I>last</I>?</A>
|
||
|
<DD><A HREF="string.htm#M44" NAME="L1146"><B>string totitle </B><I>string</I> ?<I>first</I>? ?<I>last</I>?</A>
|
||
|
<DD><A HREF="string.htm#M45" NAME="L1147"><B>string toupper </B><I>string</I> ?<I>first</I>? ?<I>last</I>?</A>
|
||
|
<DD><A HREF="string.htm#M46" NAME="L1148"><B>string trim </B><I>string</I> ?<I>chars</I>?</A>
|
||
|
<DD><A HREF="string.htm#M47" NAME="L1149"><B>string trimleft </B><I>string</I> ?<I>chars</I>?</A>
|
||
|
<DD><A HREF="string.htm#M48" NAME="L1150"><B>string trimright </B><I>string</I> ?<I>chars</I>?</A>
|
||
|
<DD><A HREF="string.htm#M49" NAME="L1151"><B>string wordend </B><I>string charIndex</I></A>
|
||
|
<DD><A HREF="string.htm#M50" NAME="L1152"><B>string wordstart </B><I>string charIndex</I></A>
|
||
|
</DL>
|
||
|
<DD><A HREF="string.htm#M51" NAME="L1153">SEE ALSO</A>
|
||
|
<DD><A HREF="string.htm#M52" NAME="L1154">KEYWORDS</A>
|
||
|
</DL><HR>
|
||
|
<H3><A NAME="M2">NAME</A></H3>
|
||
|
string - Manipulate strings
|
||
|
<H3><A NAME="M3">SYNOPSIS</A></H3>
|
||
|
<B>string </B><I>option arg </I>?<I>arg ...?</I><BR>
|
||
|
<H3><A NAME="M4">DESCRIPTION</A></H3>
|
||
|
Performs one of several string operations, depending on <I>option</I>.
|
||
|
The legal <I>option</I>s (which may be abbreviated) are:
|
||
|
<P>
|
||
|
<DL>
|
||
|
<P><DT><A NAME="M5"><B>string bytelength </B><I>string</I></A><DD>
|
||
|
Returns a decimal string giving the number of bytes used to represent
|
||
|
<I>string</I> in memory. Because UTF-8 uses one to three bytes to
|
||
|
represent Unicode characters, the byte length will not be the same as
|
||
|
the character length in general. The cases where a script cares about
|
||
|
the byte length are rare. In almost all cases, you should use the
|
||
|
<B>string length</B> operation. Refer to the <B><A HREF="../TkLib/Utf.htm">Tcl_NumUtfChars</A></B>
|
||
|
manual entry for more details on the UTF-8 representation.
|
||
|
<P><DT><A NAME="M6"><B>string compare</B> ?<B>-nocase</B>? ?<B>-length int</B>? <I>string1 string2</I></A><DD>
|
||
|
Perform a character-by-character comparison of strings <I>string1</I> and
|
||
|
<I>string2</I>. Returns
|
||
|
-1, 0, or 1, depending on whether <I>string1</I> is lexicographically
|
||
|
less than, equal to, or greater than <I>string2</I>.
|
||
|
If <B>-length</B> is specified, then only the first <I>length</I> characters
|
||
|
are used in the comparison. If <B>-length</B> is negative, it is
|
||
|
ignored. If <B>-nocase</B> is specified, then the strings are
|
||
|
compared in a case-insensitive manner.
|
||
|
<P><DT><A NAME="M7"><B>string equal</B> ?<B>-nocase</B>? ?<B>-length int</B>? <I>string1 string2</I></A><DD>
|
||
|
Perform a character-by-character comparison of strings
|
||
|
<I>string1</I> and <I>string2</I>. Returns 1 if <I>string1</I> and
|
||
|
<I>string2</I> are identical, or 0 when not. If <B>-length</B> is
|
||
|
specified, then only the first <I>length</I> characters are used in the
|
||
|
comparison. If <B>-length</B> is negative, it is ignored. If
|
||
|
<B>-nocase</B> is specified, then the strings are compared in a
|
||
|
case-insensitive manner.
|
||
|
<P><DT><A NAME="M8"><B>string first </B><I>string1 string2</I> ?<I>startIndex</I>?</A><DD>
|
||
|
Search <I>string2</I> for a sequence of characters that exactly match
|
||
|
the characters in <I>string1</I>. If found, return the index of the
|
||
|
first character in the first such match within <I>string2</I>. If not
|
||
|
found, return -1.
|
||
|
If <I>startIndex</I> is specified (in any of the forms accepted by the
|
||
|
<B>index</B> method), then the search is constrained to start with the
|
||
|
character in <I>string2</I> specified by the index. For example,
|
||
|
<PRE><B>string first a 0a23456789abcdef 5</B></PRE>
|
||
|
will return <B>10</B>, but
|
||
|
<PRE><B>string first a 0123456789abcdef 11</B></PRE>
|
||
|
will return <B>-1</B>.
|
||
|
<P><DT><A NAME="M9"><B>string index </B><I>string charIndex</I></A><DD>
|
||
|
Returns the <I>charIndex</I>'th character of the <I>string</I>
|
||
|
argument. A <I>charIndex</I> of 0 corresponds to the first
|
||
|
character of the string.
|
||
|
<I>charIndex</I> may be specified as
|
||
|
follows:
|
||
|
<P>
|
||
|
<DL>
|
||
|
<P><DT><A NAME="M10"><I>integer</I></A><DD>
|
||
|
The char specified at this integral index
|
||
|
<P><DT><A NAME="M11"><B>end</B></A><DD>
|
||
|
The last char of the string.
|
||
|
<P><DT><A NAME="M12"><B>end-</B><I>integer</I></A><DD>
|
||
|
The last char of the string minus the specified integer
|
||
|
offset (e.g. <B>end-1</B> would refer to the "c" in "abcd").
|
||
|
</DL><P>If <I>charIndex</I> is less than 0 or greater than
|
||
|
or equal to the length of the string then an empty string is
|
||
|
returned.<DL>
|
||
|
<P></DL>
|
||
|
<P><DT><A NAME="M13"><B>string is </B><I>class</I> ?<B>-strict</B>? ?<B>-failindex </B><I>varname</I>? <I>string</I></A><DD>
|
||
|
Returns 1 if <I>string</I> is a valid member of the specified character
|
||
|
class, otherwise returns 0. If <B>-strict</B> is specified, then an
|
||
|
empty string returns 0, otherwise and empty string will return 1 on
|
||
|
any class. If <B>-failindex</B> is specified, then if the function
|
||
|
returns 0, the index in the string where the class was no longer valid
|
||
|
will be stored in the variable named <I>varname</I>. The <I>varname</I>
|
||
|
will not be set if the function returns 1. The following character classes
|
||
|
are recognized (the class name can be abbreviated):
|
||
|
<P>
|
||
|
<DL>
|
||
|
<P><DT><A NAME="M14"><B>alnum</B></A><DD>
|
||
|
Any Unicode alphabet or digit character.
|
||
|
<P><DT><A NAME="M15"><B>alpha</B></A><DD>
|
||
|
Any Unicode alphabet character.
|
||
|
<P><DT><A NAME="M16"><B>ascii</B></A><DD>
|
||
|
Any character with a value less than \u0080 (those that
|
||
|
are in the 7-bit ascii range).
|
||
|
<P><DT><A NAME="M17"><B>boolean</B></A><DD>
|
||
|
Any of the forms allowed to <B><A HREF="../TkLib/GetInt.htm">Tcl_GetBoolean</A></B>.
|
||
|
<P><DT><A NAME="M18"><B>control</B></A><DD>
|
||
|
Any Unicode control character.
|
||
|
<P><DT><A NAME="M19"><B>digit</B></A><DD>
|
||
|
Any Unicode digit character. Note that this includes characters
|
||
|
outside of the [0-9] range.
|
||
|
<P><DT><A NAME="M20"><B>double</B></A><DD>
|
||
|
Any of the valid forms for a double in Tcl, with optional surrounding
|
||
|
whitespace. In case of under/overflow in the value, 0 is returned
|
||
|
and the <I>varname</I> will contain -1.
|
||
|
<P><DT><A NAME="M21"><B>false</B></A><DD>
|
||
|
Any of the forms allowed to <B><A HREF="../TkLib/GetInt.htm">Tcl_GetBoolean</A></B> where the value is false.
|
||
|
<P><DT><A NAME="M22"><B>graph</B></A><DD>
|
||
|
Any Unicode printing character, except space.
|
||
|
<P><DT><A NAME="M23"><B>integer</B></A><DD>
|
||
|
Any of the valid forms for an integer in Tcl, with optional surrounding
|
||
|
whitespace. In case of under/overflow in the value, 0 is returned
|
||
|
and the <I>varname</I> will contain -1.
|
||
|
<P><DT><A NAME="M24"><B>lower</B></A><DD>
|
||
|
Any Unicode lower case alphabet character.
|
||
|
<P><DT><A NAME="M25"><B>print</B></A><DD>
|
||
|
Any Unicode printing character, including space.
|
||
|
<P><DT><A NAME="M26"><B>punct</B></A><DD>
|
||
|
Any Unicode punctuation character.
|
||
|
<P><DT><A NAME="M27"><B>space</B></A><DD>
|
||
|
Any Unicode space character.
|
||
|
<P><DT><A NAME="M28"><B>true</B></A><DD>
|
||
|
Any of the forms allowed to <B><A HREF="../TkLib/GetInt.htm">Tcl_GetBoolean</A></B> where the value is true.
|
||
|
<P><DT><A NAME="M29"><B>upper</B></A><DD>
|
||
|
Any upper case alphabet character in the Unicode character set.
|
||
|
<P><DT><A NAME="M30"><B>wordchar</B></A><DD>
|
||
|
Any Unicode word character. That is any alphanumeric character,
|
||
|
and any Unicode connector punctuation characters (e.g. underscore).
|
||
|
<P><DT><A NAME="M31"><B>xdigit</B></A><DD>
|
||
|
Any hexadecimal digit character ([0-9A-Fa-f]).
|
||
|
</DL><P>In the case of <B>boolean</B>, <B>true</B> and <B>false</B>, if the
|
||
|
function will return 0, then the <I>varname</I> will always be set to 0,
|
||
|
due to the varied nature of a valid boolean value.<DL>
|
||
|
<P></DL>
|
||
|
<P><DT><A NAME="M32"><B>string last </B><I>string1 string2</I> ?<I>startIndex</I>?</A><DD>
|
||
|
Search <I>string2</I> for a sequence of characters that exactly match
|
||
|
the characters in <I>string1</I>. If found, return the index of the
|
||
|
first character in the last such match within <I>string2</I>. If there
|
||
|
is no match, then return -1.
|
||
|
If <I>startIndex</I> is specified (in any of the forms accepted by the
|
||
|
<B>index</B> method), then only the characters in <I>string2</I> at or before the
|
||
|
specified <I>startIndex</I> will be considered by the search. For example,
|
||
|
<PRE><B>string last a 0a23456789abcdef 15</B></PRE>
|
||
|
will return <B>10</B>, but
|
||
|
<PRE><B>string last a 0a23456789abcdef 9</B></PRE>
|
||
|
will return <B>1</B>.
|
||
|
<P><DT><A NAME="M33"><B>string length </B><I>string</I></A><DD>
|
||
|
Returns a decimal string giving the number of characters in
|
||
|
<I>string</I>. Note that this is not necessarily the same as the
|
||
|
number of bytes used to store the string.
|
||
|
<P><DT><A NAME="M34"><B>string map</B> ?<B>-nocase</B>? <I>charMap string</I></A><DD>
|
||
|
Replaces characters in <I>string</I> based on the key-value pairs in
|
||
|
<I>charMap</I>. <I>charMap</I> is a list of <I>key value key value</I> ...
|
||
|
as in the form returned by <B><A HREF="../TkCmd/array.htm">array get</A></B>. Each instance of a
|
||
|
key in the string will be replaced with its corresponding value. If
|
||
|
<B>-nocase</B> is specified, then matching is done without regard to
|
||
|
case differences. Both <I>key</I> and <I>value</I> may be multiple
|
||
|
characters. Replacement is done in an ordered manner, so the key appearing
|
||
|
first in the list will be checked first, and so on. <I>string</I> is
|
||
|
only iterated over once, so earlier key replacements will have no
|
||
|
affect for later key matches. For example,
|
||
|
<PRE><B>string map {abc 1 ab 2 a 3 1 0} 1abcaababcabababc</B></PRE>
|
||
|
will return the string <B>01321221</B>.
|
||
|
<P><DT><A NAME="M35"><B>string match</B> ?<B>-nocase</B>? <I>pattern</I> <I>string</I></A><DD>
|
||
|
See if <I>pattern</I> matches <I>string</I>; return 1 if it does, 0
|
||
|
if it doesn't.
|
||
|
If <B>-nocase</B> is specified, then the pattern attempts to match
|
||
|
against the string in a case insensitive manner.
|
||
|
For the two strings to match, their contents
|
||
|
must be identical except that the following special sequences
|
||
|
may appear in <I>pattern</I>:
|
||
|
<P>
|
||
|
<DL>
|
||
|
<P><DT><A NAME="M36"><B>*</B></A><DD>
|
||
|
Matches any sequence of characters in <I>string</I>,
|
||
|
including a null string.
|
||
|
<P><DT><A NAME="M37"><B>?</B></A><DD>
|
||
|
Matches any single character in <I>string</I>.
|
||
|
<P><DT><A NAME="M38"><B>[</B><I>chars</I><B>]</B></A><DD>
|
||
|
Matches any character in the set given by <I>chars</I>. If a sequence
|
||
|
of the form
|
||
|
<I>x</I><B>-</B><I>y</I> appears in <I>chars</I>, then any character
|
||
|
between <I>x</I> and <I>y</I>, inclusive, will match.
|
||
|
When used with <B>-nocase</B>, the end points of the range are converted
|
||
|
to lower case first. Whereas {[A-z]} matches '_' when matching
|
||
|
case-sensitively ('_' falls between the 'Z' and 'a'), with <B>-nocase</B>
|
||
|
this is considered like {[A-Za-z]} (and probably what was meant in the
|
||
|
first place).
|
||
|
<P><DT><A NAME="M39"><B>\</B><I>x</I></A><DD>
|
||
|
Matches the single character <I>x</I>. This provides a way of
|
||
|
avoiding the special interpretation of the characters
|
||
|
<B>*?[]\</B> in <I>pattern</I>.
|
||
|
<P></DL>
|
||
|
<P><DT><A NAME="M40"><B>string range </B><I>string first last</I></A><DD>
|
||
|
Returns a range of consecutive characters from <I>string</I>, starting
|
||
|
with the character whose index is <I>first</I> and ending with the
|
||
|
character whose index is <I>last</I>. An index of 0 refers to the
|
||
|
first character of the string. <I>first</I> and <I>last</I> may be
|
||
|
specified as for the <B>index</B> method.
|
||
|
If <I>first</I> is less than zero then it is treated as if it were zero, and
|
||
|
if <I>last</I> is greater than or equal to the length of the string then
|
||
|
it is treated as if it were <B>end</B>. If <I>first</I> is greater than
|
||
|
<I>last</I> then an empty string is returned.
|
||
|
<P><DT><A NAME="M41"><B>string repeat </B><I>string count</I></A><DD>
|
||
|
Returns <I>string</I> repeated <I>count</I> number of times.
|
||
|
<P><DT><A NAME="M42"><B>string replace </B><I>string first last</I> ?<I>newstring</I>?</A><DD>
|
||
|
Removes a range of consecutive characters from <I>string</I>, starting
|
||
|
with the character whose index is <I>first</I> and ending with the
|
||
|
character whose index is <I>last</I>. An index of 0 refers to the
|
||
|
first character of the string. <I>First</I> and <I>last</I> may be
|
||
|
specified as for the <B>index</B> method. If <I>newstring</I> is
|
||
|
specified, then it is placed in the removed character range.
|
||
|
If <I>first</I> is less than zero then it is treated as if it were zero, and
|
||
|
if <I>last</I> is greater than or equal to the length of the string then
|
||
|
it is treated as if it were <B>end</B>. If <I>first</I> is greater than
|
||
|
<I>last</I> or the length of the initial string, or <I>last</I> is less
|
||
|
than 0, then the initial string is returned untouched.
|
||
|
<P><DT><A NAME="M43"><B>string tolower </B><I>string</I> ?<I>first</I>? ?<I>last</I>?</A><DD>
|
||
|
Returns a value equal to <I>string</I> except that all upper (or title) case
|
||
|
letters have been converted to lower case. If <I>first</I> is specified, it
|
||
|
refers to the first char index in the string to start modifying. If
|
||
|
<I>last</I> is specified, it refers to the char index in the string to stop
|
||
|
at (inclusive). <I>first</I> and <I>last</I> may be
|
||
|
specified as for the <B>index</B> method.
|
||
|
<P><DT><A NAME="M44"><B>string totitle </B><I>string</I> ?<I>first</I>? ?<I>last</I>?</A><DD>
|
||
|
Returns a value equal to <I>string</I> except that the first character
|
||
|
in <I>string</I> is converted to its Unicode title case variant (or upper
|
||
|
case if there is no title case variant) and the rest of the string is
|
||
|
converted to lower case. If <I>first</I> is specified, it
|
||
|
refers to the first char index in the string to start modifying. If
|
||
|
<I>last</I> is specified, it refers to the char index in the string to stop
|
||
|
at (inclusive). <I>first</I> and <I>last</I> may be
|
||
|
specified as for the <B>index</B> method.
|
||
|
<P><DT><A NAME="M45"><B>string toupper </B><I>string</I> ?<I>first</I>? ?<I>last</I>?</A><DD>
|
||
|
Returns a value equal to <I>string</I> except that all lower (or title) case
|
||
|
letters have been converted to upper case. If <I>first</I> is specified, it
|
||
|
refers to the first char index in the string to start modifying. If
|
||
|
<I>last</I> is specified, it refers to the char index in the string to stop
|
||
|
at (inclusive). <I>first</I> and <I>last</I> may be specified as for the
|
||
|
<B>index</B> method.
|
||
|
<P><DT><A NAME="M46"><B>string trim </B><I>string</I> ?<I>chars</I>?</A><DD>
|
||
|
Returns a value equal to <I>string</I> except that any leading
|
||
|
or trailing characters from the set given by <I>chars</I> are
|
||
|
removed.
|
||
|
If <I>chars</I> is not specified then white space is removed
|
||
|
(spaces, tabs, newlines, and carriage returns).
|
||
|
<P><DT><A NAME="M47"><B>string trimleft </B><I>string</I> ?<I>chars</I>?</A><DD>
|
||
|
Returns a value equal to <I>string</I> except that any
|
||
|
leading characters from the set given by <I>chars</I> are
|
||
|
removed.
|
||
|
If <I>chars</I> is not specified then white space is removed
|
||
|
(spaces, tabs, newlines, and carriage returns).
|
||
|
<P><DT><A NAME="M48"><B>string trimright </B><I>string</I> ?<I>chars</I>?</A><DD>
|
||
|
Returns a value equal to <I>string</I> except that any
|
||
|
trailing characters from the set given by <I>chars</I> are
|
||
|
removed.
|
||
|
If <I>chars</I> is not specified then white space is removed
|
||
|
(spaces, tabs, newlines, and carriage returns).
|
||
|
<P><DT><A NAME="M49"><B>string wordend </B><I>string charIndex</I></A><DD>
|
||
|
Returns the index of the character just after the last one in the word
|
||
|
containing character <I>charIndex</I> of <I>string</I>. <I>charIndex</I>
|
||
|
may be specified as for the <B>index</B> method. A word is
|
||
|
considered to be any contiguous range of alphanumeric (Unicode letters
|
||
|
or decimal digits) or underscore (Unicode connector punctuation)
|
||
|
characters, or any single character other than these.
|
||
|
<P><DT><A NAME="M50"><B>string wordstart </B><I>string charIndex</I></A><DD>
|
||
|
Returns the index of the first character in the word containing
|
||
|
character <I>charIndex</I> of <I>string</I>. <I>charIndex</I> may be
|
||
|
specified as for the <B>index</B> method. A word is considered to be any
|
||
|
contiguous range of alphanumeric (Unicode letters or decimal digits)
|
||
|
or underscore (Unicode connector punctuation) characters, or any
|
||
|
single character other than these.
|
||
|
|
||
|
<P></DL>
|
||
|
<H3><A NAME="M51">SEE ALSO</A></H3>
|
||
|
<B><A HREF="../TkCmd/expr.htm">expr</A></B>, <B><A HREF="../TkCmd/list.htm">list</A></B>
|
||
|
<H3><A NAME="M52">KEYWORDS</A></H3>
|
||
|
<A href="../Keywords/C.htm#case conversion">case conversion</A>, <A href="../Keywords/C.htm#compare">compare</A>, <A href="../Keywords/I.htm#index">index</A>, <A href="../Keywords/M.htm#match">match</A>, <A href="../Keywords/P.htm#pattern">pattern</A>, <A href="../Keywords/S.htm#string">string</A>, <A href="../Keywords/W.htm#word">word</A>, <A href="../Keywords/E.htm#equal">equal</A>, <A href="../Keywords/C.htm#ctype">ctype</A>
|
||
|
<HR><PRE>
|
||
|
<A HREF="../copyright.htm">Copyright</A> © 1993 The Regents of the University of California.
|
||
|
<A HREF="../copyright.htm">Copyright</A> © 1994-1996 Sun Microsystems, Inc.
|
||
|
<A HREF="../copyright.htm">Copyright</A> © 1995-1997 Roger E. Critchlow Jr.</PRE>
|
||
|
</BODY></HTML>
|