From WikiChip
Editing mirc/identifiers/$gettok

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.

Latest revision Your text
Line 1: Line 1:
{{mirc title|$gettok Identifier}}
 
'''$gettok''' returns the Nth $asc(C)-delimited token from a list.
 
 
 
 
== Synopsis ==
 
== Synopsis ==
<pre>$gettok(<LIST>,<N>,<C>)</pre>
+
<pre>$gettok(TEXT,N,C)</pre>
 +
Returns the Nth $asc(C)-delimited token from text
  
 
== Parameters ==
 
== Parameters ==
'''LIST:''' - Text list delimited by a character into tokens<br />
+
'''TEXT:''' Text delimited by a character into tokens<br />
'''N:''' - The token(s) to be returned. N can also be negative or a range<br />
+
'''N:''' The token(s) to be returned. N can also be negative or a range<br />
'''C:''' - The {{mIRC|$asc|$asc()}} value which splits TEXT into tokens<br />
+
'''C:''' The $asc() value which splits TEXT into tokens<br />
  
If N=0, returns total number of tokens, same as {{mIRC|$numtok|$numtok(TEXT,C)}} <br />
+
If N=0, returns total number of tokens, same as $numtok(TEXT,C)<br />
If N is greater than the total number of tokens, returns {{mIRC|$null|$null}} <br />
+
If N is greater than the total number of tokens, returns $nul<br />
 
If N is negative, returns tokens relative to the last token. -1 is the last token, -2 is next-to-last token, etc.<br />
 
If N is negative, returns tokens relative to the last token. -1 is the last token, -2 is next-to-last token, etc.<br />
N- returns all tokens beginning with the Nth token.
+
N- returns all tokens beginning with the Nth token. N1-N2 returns all tokens in the range of those 2 numbers, including the between tokens.<br />
N1-N2 returns all tokens in the range of those 2 numbers, including the between delimiters.<br />
+
C delimiters consecutively-repeated or beginning or ending TEXT are stripped before processing.</pre>
'''Note:''' You can reverse the order of the number: $gettok(a b c,3-2,32) is the same as $gettok(a b c,2-3,32)<br />
+
== Properties ==
'''Note:''' N2 can also be negative: $gettok(a b c d e f,-2-3,32) return the token from the 3rd token to the -2th but $gettok(a b c d e f,-2--3,32) return e f, from -3 to -2<br />
 
'''Note:''' For readability you can also code this as '''$gettok(a-b-c-d-e,2,$asc(-))'''.
 
  
== Properties ==
 
 
None
 
None
  
Line 31: Line 25:
 
$chr(32) is the space character. Echo the current month to the active window:
 
$chr(32) is the space character. Echo the current month to the active window:
 
<pre>//echo -a The current month is $gettok($asctime,2,32)</pre>
 
<pre>//echo -a The current month is $gettok($asctime,2,32)</pre>
 
This returns ''Mon Tue'' because the space between %x %y becomes the 2nd delimiter:
 
<pre>//var %x Sun Mon | var %y Tue Wed Thu Fri Sat | echo -a $gettok(%x %y,2-3,32)</pre>
 
  
 
$chr(58) is the colon, $chr(92) is the backslash:
 
$chr(58) is the colon, $chr(92) is the backslash:
Line 42: Line 33:
  
 
<pre>//echo -a $gettok(Sun.Mon.Tue.Wed.Thu.Fri.Sat,2-4,46)
 
<pre>//echo -a $gettok(Sun.Mon.Tue.Wed.Thu.Fri.Sat,2-4,46)
; returns Mon.Tue.Wed (including the delimiter period between the returned tokens
+
;returns Mon.Tue.Wed (including the delimiter period between the returned tokens
 
//echo -a $gettok(Sun.Mon.Tue.Wed.Thu.Fri.Sat,3-,46)
 
//echo -a $gettok(Sun.Mon.Tue.Wed.Thu.Fri.Sat,3-,46)
 
; returns all tokens beginning with the 3rd: Tue.Wed.Thu.Fri.Sat</pre>
 
; returns all tokens beginning with the 3rd: Tue.Wed.Thu.Fri.Sat</pre>
  
<pre>//echo -a $gettok(11x22x33x44,3,120)
+
<pre>//echo -a $gettok(1x2x3x4,3,120)
; returns 33 because $chr(120) is lower-case x
+
;returns 3 because $chr(120) is lower-case x
//echo -a $gettok(x11xxxx22x33x44x,3,120)
+
//echo -a $gettok(x1xxxx2x3x4x,3,120)
; also returns 33 because duplicate, leading, and trailing delimiters are stripped before $gettok processes the TEXT
+
; also returns 3 because duplicate, leading, and trailing delimiters are stripped before $gettok processes the TEXT
//echo -a $gettok(11x22X33x44,3,120)
+
//echo -a $gettok(1x2X3x4,3,120)
; returns 44 because the C token is case-sensitive, so capital X isn't a delimiter</pre>
+
;returns 4 because the C token is case-sensitive, so capital X isn't a delimiter</pre>
 
 
$gettok allows the range numbers to be negative
 
<pre>//echo -a $gettok(Sun.Mon.Tue.Wed.Thu.Fri.Sat,-4- $+ -2,46)
 
; returns the 4th-from-last through 2nd-from-last tokens
 
//echo -a $gettok(Sun.Mon.Tue.Wed.Thu.Fri.Sat,-2-,46)
 
; returns the last 2 tokens
 
//echo -a $gettok(Sun.Mon.Tue.Wed.Thu.Fri.Sat,2- $+ -2,46)
 
; returns 2nd token through 2nd-from-last token
 
</pre>
 
 
 
$gettok puts range numbers in the correct order before evaluating them.
 
<pre>//echo -a $gettok(Sun.Mon.Tue.Wed.Thu.Fri.Sat,4-3,46)
 
; returns same results as if range 3-4 were used
 
//echo -a $gettok(Sun.Mon.Tue.Wed.Thu.Fri.Sat,-4-3,46)
 
; returns 4th-from-last token thru the 3rd token regardless whether the 3rd token is the earlier or later token in the list.
 
</pre>
 
 
 
'''Note:''' $gettok differs from CSV format in that it does not use double-quotes to allow a delimiter to be part of another token. If you want $filename to be a token in a comma-delimited list of tokens, you should use {{mIRC|$replace|$replace}} to change the comma in the filename into another character that cannot appear in the filename before adding as a token, then use {{mIRC|$replace|$replace}} on the extracted token to restore any comma(s). Alternatively use a character other than a comma (like '|') as a delimiter instead.
 
  
 
== Compatibility ==
 
== Compatibility ==
Line 75: Line 48:
  
 
== See also ==
 
== See also ==
{{collist
+
* {{mIRC|$numtok}}
|count = 6
+
* {{mIRC|$findtok}}
|style = width: 100%; display: inherit;
+
* {{mIRC|$matchtok}}
|
+
* {{mIRC|$wildtok}}
 +
* {{mIRC|$istok}}
 
* {{mIRC|$addtok}}
 
* {{mIRC|$addtok}}
* {{mIRC|$deltok}}
 
* {{mIRC|$findtok}}
 
 
* {{mIRC|$instok}}
 
* {{mIRC|$instok}}
* {{mIRC|$istok}}
 
* {{mIRC|$matchtok}}
 
* {{mIRC|$numtok}}
 
 
* {{mIRC|$puttok}}
 
* {{mIRC|$puttok}}
 +
* {{mIRC|$deltok}}
 
* {{mIRC|$remtok}}
 
* {{mIRC|$remtok}}
 
* {{mIRC|$reptok}}
 
* {{mIRC|$reptok}}
 
* {{mIRC|$sorttok}}
 
* {{mIRC|$sorttok}}
* {{mIRC|$wildtok}}
+
* [[List of identifiers - mIRC]]
}}
 
[[List of identifiers - mIRC|Full list of identifiers]]
 
 
{{mIRC identifier list}}
 
{{mIRC identifier list}}
[[Category:mIRC identifiers|gettok]]
 

Please note that all contributions to WikiChip may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see WikiChip:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)