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'''
'''$gettok''' returns the Nth $asc(C)-delimited token from a list.
 
 
 
  
 
== Synopsis ==
 
== Synopsis ==
Line 7: Line 5:
  
 
== Parameters ==
 
== Parameters ==
'''LIST:''' - Text list delimited by a character into tokens<br />
+
'''LIST:''' Text list 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 delimiters.<br />
N1-N2 returns all tokens in the range of those 2 numbers, including the between delimiters.<br />
 
'''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 />
 
'''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 ==
 
== Properties ==
 +
 
None
 
None
  
Line 46: Line 41:
 
; 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
 
$gettok allows the range numbers to be negative
Line 69: Line 64:
 
</pre>
 
</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.
+
'''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 $replace to change the comma in the filename into another character that cannot appear in the filename before adding as a token, then use $replace on the extracted token to restore any comma(s).
  
 
== Compatibility ==
 
== Compatibility ==
Line 75: Line 70:
  
 
== 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)