>
----
'''`[string] trim`''' removes characters from the beginning and end of a string.
** Synopsis **
: '''string trim''' ''string ?chars?''
** See Also **
[string map]: Replace substrings in a string.
[string] : All the other "string"-commands.
[Trimming indentation]:
[textutil%|%textutil]: Provides [regular expressions%|%regular expression] variants of the `string trim` commands, as well as `trimPrefix` an `trimEmptyHeading`.
** Description **
Returns a value equal to ''string'' except that any leading or trailing
characters that occur in ''chars'' are removed. <
> If ''chars'' is not
specified then white space is removed (space, tab, newline, and carriage
return). [https://core.tcl-lang.org/tips/doc/trunk/tip/413.md%|%TIP 443] added
null, zero width no break space (+UFEFF), word joiner (+U2060, zero width space
(+U200B), and any [Unicode] character that has the "white space" property.
----
** Examples **
***Example 1***
======
# http://ideone.com/IX2f6Y
set s1 " Hello ! "
set s2 [string trim $s1]
puts "<$s1> <$s2>"
#
set s1 "*** Hello_###"
set s2 [ string trim $s1 "*#_" ]
puts "<$s1> <$s2>"
#.
======
'''Output:'''
======none
< Hello ! >
<*** Hello_###> < Hello>
======
***Example 2***
======
# http://codepad.org/b4bHNWjo
set s1 " * Hello ** "
set s2 [string trim $s1]
set s3 [string trim $s1 " *"]
puts "<$s1>\n<$s2>\n<$s3>"
======
'''Output:'''
======none
< * Hello ** >
<* Hello **>
======
----
** What Constitutes Whitespace **
See [TIP] [http://www.tcl.tk/cgi-bin/tct/tip/318.html%|%#318: Extend Default Whitespace in 'string trim' Beyond ASCII].
[escargo] 2008-06-02:
This also related to behavior discussed in [comp.lang.tcl] with the subject,
"string trim not trimming special space characters" (starting on 2008-03-04).
The characters removed by `string trim ''string''` (with no ''chars'' argument) are '''not'''
all the ones for which `[string is] space ''char''` returns `1`.
I think the [TIP] should also include Unicode nonbreaking spaces.
[LV]: You could either update the TIP page with your concerns, or post a comment over on the [TCT] mailing list.
** Discussion **
[MiHa] 2015-05-17: As I already ranted, missing examples are a common shortcoming in the docs.
As an example, how I would like examples done (here in the wiki, as well as in the help-system
that comes with the tcl/tk-installation. <
>
I added a demo-section, with links to two different online-compilers/interpreters,
where the examples can be seen "live".
[pyk] 2015-05-17: The added examples are better than what previously passed as
examples on this page.
I've adjusted them to conform to the [Tcl minimal escaping style].
@MiHa: if you as the author of the new examples take exception to that,
just change them back to your own preferred style. <
>
As far as putting the '''Description''' section before the Synopsis section,
I think there's enough precedent having an unnamed summary with the '''description'''
coming after the synopsis to justify leaving the current order as it is.
'''MiHa''' 2015-05-18: I don't like http://wiki.tcl.tk/41378%|%that style%|%,
so I changed it back. <
>
I feel a document should start with a proper headline, <
>
so what is the rationale behind the description starting late in the page ?
<> Command | String Processing