Template:Str mid

From MattWiki
Jump to navigation Jump to search
Documentation icon Template documentation[view] [edit] [history] [purge]

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}} → efg

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

  • {{str mid|Abcdefghijklmnopqrstuvwxyz||5}} → Abcde

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

  • {{str mid|Abcdefghijklmnopqrstuvwxyz|15}} → opqrstuvwxyz

Counting from the end

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

  • {{str mid|Abcdefghijklmnopqrstuvwxyz|-7|4}} → tuvw
  • {{str mid|Abcdefghijklmnopqrstuvwxyz|-7}} → tuvwxyz

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}} → efg

Spaces are kept

In the returned substring, spaces are kept:

  • >{{str mid|I like this.|2|6}}< → >like<

But the input string is trimmed:

  • >{{str mid| I like this. |2|6}}< → >like<

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}} → String Module Error: String subset index out of range
  • {{str mid|Abcdefghijklmnopqrstuvwxyz|0|45}} → efghijklmnopqrstuvwxyz

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}} → efghijklmnopqrstuvwxyz

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