Template:Str mid/doc

From BibleStrength

Template:Documentation subpage Template:Lua

Usage

Characters in the source string are counted: the first is index 1, the last one is index length of string. The substring requested can be defined by these two indexes. Also, the substring can be defined by one index, and the substring length. The options are: {{str mid|<string>|<index of first character>|<length of substring>|<index of last character>}} It returns a part of the <string>, starting with character on position index, length <sublength>, last character returned is end index.

  • {{str mid|Abcdefghijklmnopqrstuvwxyz|5|3}}Expression error: Unexpected < operator.

If parameter 2 is omitted, start is from character 1:

  • {{str mid|Abcdefghijklmnopqrstuvwxyz||5}}Expression error: Unexpected < operator.

If parameter 3 is omitted, the whole rest of the string is returned:

  • {{str mid|Abcdefghijklmnopqrstuvwxyz|15}}Expression error: Unexpected < operator.

Counting from the end

By entering a negative value, the index is counted from the end:

  • {{str mid|Abcdefghijklmnopqrstuvwxyz|-7|4}}Expression error: Unexpected < operator.
  • {{str mid|Abcdefghijklmnopqrstuvwxyz|-7}}Expression error: Unexpected < operator.

Instead if substring length, use index for last character

By using parameter |4=n, a number, you do not ask for substring length, but the last character (as counted from the start of the input string):

  • {{str mid|Abcdefghijklmnopqrstuvwxyz|5||7}} → Expression error: Unexpected < operator.

Spaces are kept

In the returned substring, spaces are kept:

  • >{{str mid|I like this.|2|6}}< → >Expression error: Unexpected < operator.<

But the input string is trimmed:

  • >{{str mid| I like this. |2|6}}< → >Expression error: Unexpected < operator.<

Error messages

When the ranges (either param2 or the substring length) is out impossible in the string, an error is returned:

  • {{str mid|Abcdefghijklmnopqrstuvwxyz|30}}Expression error: Unexpected < operator.
  • {{str mid|Abcdefghijklmnopqrstuvwxyz|0|45}}Expression error: Unexpected < operator.

The error can be suppressed by using |ignore errors=true. A blank (empty string) will be returned:

  • {{str mid|Abcdefghijklmnopqrstuvwxyz|0|45|ignore errors=true}}Expression error: Unexpected < operator.

Error category

  • |no category=true switches off category adding.
  • |error category=[[Category:Your category name]] sets the category to be added when in case of an error.
Default is Category:Errors reported by Module String.

See also

Template:Navbox with collapsible groups