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