Difference between revisions of "Versionsort"

From Sega Retro

Line 1: Line 1:
 
<includeonly>{{#vardefine:vin|{{#explode:{{{1|}}}|(|0}}}}{{#iferror:{{#expr:{{#var:vin}}}}|
 
<includeonly>{{#vardefine:vin|{{#explode:{{{1|}}}|(|0}}}}{{#iferror:{{#expr:{{#var:vin}}}}|
 
{{#vardefine:vin|{{lc:{{#var:vin}}}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|a}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|b}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|c}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|d}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|e}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|f}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|g}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|h}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|i}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|j}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|k}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|l}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|m}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|n}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|o}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|p}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|q}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|r}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|s}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|t}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|u}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|v}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|w}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|x}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|y}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|z}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}| }}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|(}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|)}}}}
 
{{#vardefine:vin|{{lc:{{#var:vin}}}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|a}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|b}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|c}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|d}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|e}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|f}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|g}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|h}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|i}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|j}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|k}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|l}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|m}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|n}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|o}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|p}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|q}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|r}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|s}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|t}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|u}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|v}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|w}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|x}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|y}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|z}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}| }}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|(}}}}{{#vardefine:vin|{{#replace:{{#var:vin}}|)}}}}
|}}{{#pad:{{#explode:{{#var:vin}}|.|0}}|6|0}}{{#pad:{{#explode:{{#var:vin}}|.|1}}|6|0}}{{#pad:{{#explode:{{#var:vin}}|.|2}}|6|0}}{{#pad:{{#explode:{{#var:vin}}|.|3}}|6|0}}{{#pad:{{#explode:{{#var:vin}}|.|4}}|6|0}}</includeonly><noinclude>
+
|}}{{padleft:{{#explode:{{#var:vin}}|.|0}}|6|0}}{{padleft:{{#explode:{{#var:vin}}|.|1}}|6|0}}{{padleft:{{#explode:{{#var:vin}}|.|2}}|6|0}}{{padleft:{{#explode:{{#var:vin}}|.|3}}|6|0}}{{padleft:{{#explode:{{#var:vin}}|.|4}}|6|0}}</includeonly><noinclude>
 
Converts a version number into something a wiki table can sort. Letters and brackets are stripped/ignored.
 
Converts a version number into something a wiki table can sort. Letters and brackets are stripped/ignored.
  

Revision as of 13:46, 10 November 2019

Converts a version number into something a wiki table can sort. Letters and brackets are stripped/ignored.

Example:

{{versionsort|1.2.3}} returns 000001000002000003000000000000

{{versionsort|2.55.0.1}} returns 000002000055000000000001000000

{{versionsort|99.X.555 (Hello)}} returns 000099000000000555000000000000

{{versionsort|4.5.6 (123)}} returns 000004000005000006000000000000