Unspace (String function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (match syntax diagram to revised template and fix tags; still some incomplete / unfound links)
m (Spell 'onr' more better.)
 
(17 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Template:String:Unspace subtitle}}
{{Template:String:Unspace subtitle}}


The <var>Unspace</var> [[Intrinsic classes|intrinsic]] function removes the whitespace characters from the method object string and it returns the resulting string. Options are available to:<ul><li>
The <var>Unspace</var> [[Intrinsic classes|intrinsic]] function removes the whitespace characters from the method object string and it returns the resulting string. Options are available to:
Define which character or characters are to be interpreted as whitespace<li>Remove leading whitespace, trailing whitespace, both or neither;<li>Collapse to a single whitespace character any sequences of non-leading, non-trailing whitespace</ul>
<ul>
<li>Define which character or characters are to be interpreted as whitespace
<li>Remove leading whitespace, trailing whitespace, both, or neither
<li>Collapse to a single whitespace character any sequences of non-leading, non-trailing whitespace</ul>


==Syntax==
==Syntax==
{{Template:String:Unspace syntax}}
{{Template:String:Unspace syntax}}
===Syntax terms===
===Syntax terms===
<table class="syntaxTable">
<table class="syntaxTable">
<tr><th>%outString</th>
<tr><th>%outString</th>
<td>A variable to receive the string result of the <var>Unspace</var> method.</td></tr>
<td>A variable to receive the string result of the <var>Unspace</var> method.</td></tr>
<tr><th>string</th>
<tr><th>string</th>
<td>The input method object string</td></tr>
<td>The input method object string</td></tr>
<tr><th>Spaces</th>
 
<td><var class="term">Spaces</var> is an optional, but <var class="term">nameRequired</var>, parameter, which is a string that specifies the set of characters considered to be whitespace. The default set is the blank space (<code>' '</code>) character.  If you specify multiple <var class="term">Spaces</var> characters:<ul><li>There is no separator character.<li>The first character of the string is the replacement space character: a single one of these is substituted for each sequence (which may be one) of non-leading, non-trailing Spaces characters in the method object string.</ul></td></tr>
<tr><th><var>Spaces</var></th>
<tr><th>Leading</th>
<td><var>Spaces</var> is an optional, [[Notation conventions for methods#Named parameters|name required]], parameter that is a string that specifies the set of characters considered to be whitespace. The default set is the blank space (<code>' '</code>) character.   
<td><var class="term">Leading</var> is an optional, but <var class="term">nameRequired</var>, parameter, which is a <var>[[Boolean Enumeration]]</var> value that specifies whether to strip all leading whitespace characters. The default is <var>True</var>, strip leading whitespace.</td></tr>
<p>If you specify multiple <var>Spaces</var> characters, the first character of the string is the replacement space character: a single one of these is substituted for each sequence of one or more non-leading, non-trailing <var>Spaces</var> characters in the method object string.</p></td></tr>
<tr><th>Trailing</th>
 
<td><var class="term">Trailing</var> is an optional, but <var class="term">nameRequired</var>, parameter, which is a <var>[[Boolean Enumeration]]</var> value that specifies whether to strip all trailing whitespace characters. The default is <var>True</var>, strip trailing whitespace.</td></tr>
<tr><th><var>Leading</var></th>
<tr><th>Compress</th>
<td><var>Leading</var> is an optional, name required, parameter that is a <var>[[Enumerations#Using_Boolean_enumerations|Boolean Enumeration]]</var> value that specifies whether to strip all leading whitespace characters. The default is <var>True</var>, strip leading whitespace.</td></tr>
<td><var class="term">Compress</var> is an optional, but <var class="term">nameRequired</var>, parameter, which is a <var>[[Boolean Enumeration]]</var> value that specifies whether to collapse non-leading, non-trailing sequences of spaces to single spaces. The default is <var>True</var>, collapse such sequences.</td></tr>
 
<tr><th><var>Trailing</var></th>
<td><var>Trailing</var> is an optional, name required, parameter that is a <var>Boolean</var> enumeration value that specifies whether to strip all trailing whitespace characters. The default is <var>True</var>, strip trailing whitespace.</td></tr>
 
<tr><th><var>Compress</var></th>
<td><var>Compress</var> is an optional, name required, parameter that is a <var>Boolean</var> enumeration value that specifies whether to collapse each sequence of spaces to a single space. The default is <var>True</var>, collapse such sequences.</td></tr>
</table>
</table>


==Usage notes==
==Usage notes==
<ul><li>Duplicate Spaces characters are tolerated and do not affect the result.
<ul>
<li>Prior to <var class="product">Sirius Mods</var> Version 7.8, <var>Unspace</var> compressed a string consisting entirely of whitespace characters to a single whitespace character. As of Version 7.8 (and also in Version 7.7 maintenance), <var>Unspace</var> converts a string of whitespace characters to a null string. The Version 7.8 result of <code>printText {~} = X{'    ':unspace}X</code> is:
<li>Duplicate <var>Spaces</var> characters are tolerated and do not affect the result.
<li>Prior to <var class="product">Sirius Mods</var> Version 7.8, <var>Unspace</var> compressed a string consisting entirely of whitespace characters to a single whitespace character. As of Version 7.8 (and also in Version 7.7 maintenance), <var>Unspace</var> converts a string of whitespace characters to a null string. The Version 7.8 result of
<p class="code">printText {~} = X{'    ':unspace}X</p>
is:
<p class="output">'    ':unspace = XX
<p class="output">'    ':unspace = XX
</p>
</p>
<li><var>Unspace</var> is available as of <var class="product">[[Sirius Mods]]</var> version 7.3.</ul>
<li><var>Unspace</var> is available as of <var class="product">Sirius Mods</var> Version 7.3.
</ul>


==Examples==
==Examples==
<ol><li>The following are example <var>Unspace</var> statements:
The following are example <var>Unspace</var> statements:
<p class="code">%ls is longstring
<p class="code">%ls is longstring
%ls = '    so  me    chars  '
%ls = '    so  me    chars  '


printText {~} = {%ls:unspace()}
[[PrintText statement|printText]] {~} = '{%ls:unspace()}'
printText {~} = {%ls:unspace(Spaces='X ')}
printText {~} = '{%ls:unspace(Spaces='X ')}'
printText {~} = {%ls:unspace(leading=false)}
printText {~} = '{%ls:unspace(Spaces='X')}'
printText {~} = {%ls:unspace(trailing=false)}
printText {~} = '{%ls:unspace(leading=false)}'
printText {~} = {%ls:unspace(compress=false)}
printText {~} = '{%ls:unspace(trailing=false)}'
printText {~} = '{%ls:unspace(compress=false)}'
</p>
</p>
The results are respectively:
The results are respectively:
<p class="code">%ls:unspace() = so me chars
<p class="code">%ls:unspace() = 'so me chars'
%ls:unspace(Spaces='X ') = soXmeXchars
%ls:unspace(Spaces='X ') = 'soXmeXchars'
%ls:unspace(leading=false) = so me chars
%ls:unspace(Spaces='X') = '    so  me    chars' 
%ls:unspace(trailing=false) = so me chars
%ls:unspace(leading=false) = ' so me chars'
%ls:unspace(compress=false) = so  me    chars
%ls:unspace(trailing=false) = 'so me chars '
</p></ol>
%ls:unspace(compress=false) = 'so  me    chars'
</p>


==See also==
==See also==
<ul><li>For details of the <var>printtext</var> statement, please see <var>[[Intrinsic classes#printtext|printText]]
{{Template:String:Unspace footer}}
{{Template:String:Unspace footer}}

Latest revision as of 21:39, 11 August 2015

Remove whitespace characters from the string (String class)


The Unspace intrinsic function removes the whitespace characters from the method object string and it returns the resulting string. Options are available to:

  • Define which character or characters are to be interpreted as whitespace
  • Remove leading whitespace, trailing whitespace, both, or neither
  • Collapse to a single whitespace character any sequences of non-leading, non-trailing whitespace

Syntax

%outString = string:Unspace[( [Spaces= string], [Leading= boolean], - [Trailing= boolean], [Compress= boolean])]

Syntax terms

%outString A variable to receive the string result of the Unspace method.
string The input method object string
Spaces Spaces is an optional, name required, parameter that is a string that specifies the set of characters considered to be whitespace. The default set is the blank space (' ') character.

If you specify multiple Spaces characters, the first character of the string is the replacement space character: a single one of these is substituted for each sequence of one or more non-leading, non-trailing Spaces characters in the method object string.

Leading Leading is an optional, name required, parameter that is a Boolean Enumeration value that specifies whether to strip all leading whitespace characters. The default is True, strip leading whitespace.
Trailing Trailing is an optional, name required, parameter that is a Boolean enumeration value that specifies whether to strip all trailing whitespace characters. The default is True, strip trailing whitespace.
Compress Compress is an optional, name required, parameter that is a Boolean enumeration value that specifies whether to collapse each sequence of spaces to a single space. The default is True, collapse such sequences.

Usage notes

  • Duplicate Spaces characters are tolerated and do not affect the result.
  • Prior to Sirius Mods Version 7.8, Unspace compressed a string consisting entirely of whitespace characters to a single whitespace character. As of Version 7.8 (and also in Version 7.7 maintenance), Unspace converts a string of whitespace characters to a null string. The Version 7.8 result of

    printText {~} = X{' ':unspace}X

    is:

    ' ':unspace = XX

  • Unspace is available as of Sirius Mods Version 7.3.

Examples

The following are example Unspace statements:

%ls is longstring %ls = ' so me chars ' printText {~} = '{%ls:unspace()}' printText {~} = '{%ls:unspace(Spaces='X ')}' printText {~} = '{%ls:unspace(Spaces='X')}' printText {~} = '{%ls:unspace(leading=false)}' printText {~} = '{%ls:unspace(trailing=false)}' printText {~} = '{%ls:unspace(compress=false)}'

The results are respectively:

%ls:unspace() = 'so me chars' %ls:unspace(Spaces='X ') = 'soXmeXchars' %ls:unspace(Spaces='X') = ' so me chars' %ls:unspace(leading=false) = ' so me chars' %ls:unspace(trailing=false) = 'so me chars ' %ls:unspace(compress=false) = 'so me chars'

See also