模板:Str mid
- {{Str mid}}
- {{Str mid/core}}
- {{Str mid/testcases}}
此模板使用Lua语言: |
此模板被引用于约1,110,000个页面,占全部页面的14%。 为了避免造成大规模的影响,所有对此模板的编辑应先于沙盒、测试样例或您的沙盒上测试。 测试后无误的版本可以一次性地加入此模板中,但是修改前请务必于讨论页发起讨论。 模板引用数量会自动更新。 |
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}} → 字符串模块出错:截取字符串索引脱离区间
- {{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.