Extracts a substring of a string.
((sub|text|number of characters removed from the start|maximum length))
"((sub|20090624130510|0|0))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
."((sub|20090624130510|0|3))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
."((sub|20090624130510|8|0))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
."((sub|20090624130510|8|3))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
."((sub|café noir|0|4))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
."((sub|café noir|1|3))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
."((sub|café noir|3|2))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
."((sub|café noir|4|2))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
."((sub|22:06, 12 July 2010 User|19|5))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
."((sub|22:06, 2 July 2010 User|19|4))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
."((sub|123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123|0|200))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
."((sub|123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123|1|200))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
."((sub|1*3456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123|1|200))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
.<nowiki>...</nowiki>
and <nowiki />
tags and their content are internally replaced by a code, which may affect the result:
"((sub|<nowiki/>*café noir|1|9))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
."((sub|*café noir|1|9))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
.Due to the automatic newline feature/bug a newline is added before any "*", "#", ":", and ";" in the substring, except when the substring starts at the start of the string:
"((sub|*test|1|4))"
gives "Lua error: bad argument #1 to 'sub' (string expected, got nil)."
.