Template:Str rep/doc
{{used in system}}
{{cascade-protected template}}
{{Documentation subpage}}
{{lua|Module:String}}
Returns a modified copy of a given text, with the first occurrence of a find-string replaced with a replacement-string.
Usage
{{plainlist|1=
- {{tlc|Str rep|text...|find-string|replace-string}}
{{Str rep| 1= text... | 2= find-string | 3= replace-string }}
}}
This is equivalent to {{mlx|String|replace|3=source=text...|4=find-string|5=replace-string|6=1}}.
Parameters
There are three positional (unnamed) parameters, all required:
- the initial text string subject to search and replacement
- the find-string to search for in the text
- the replacement string: param 3 replaces param 2's first occurrence in param 1.
= Details =
The value of the text parameter may be anything that resolves to a string, such as:
- Immediate text entered directly into the parameter field: {{tlc|str rep|Dogs chase cats. Cats chase mice.|...}}
- A parameter passed from a transcluding template: {{tlc|str rep|
{{{5|}}} |...}} or {{tlc|str rep|{{{text|}}} |...}} - A file or template:
{{str rep|{{Template:Str rep/doc/Dogs and cats}}|...}} - or anything else that resolves to a string.
= Equal signs and pipes =
Equal signs in parameter values passed as immediate text either need to be escaped as
, or you can leave them unescaped and use the built-in numeric names ({{para|1}}, {{para|2}}, and {{para|3}}) for the three unnamed positional parameters, as in the section usage at the top.
Pipe characters in immediate text should be escaped either as |
or as {{tl|!}}. See Help:Template#Hints and workarounds. Pipe characters in embedded items such as params or template invocations don't need to be escaped.
= White space =
Pay attention to the use of white space in the parameters; all white space is significant in positional parameters. In particular, leading and trailing white space is not removed, and can affect the results. See contrasting examples #1 and #2 below.
If you like the readability of having convenience blanks before and after the parameters so they're not adjacent to the pipe characters, then use the built-in numeric names {{para|1}}, etc. These will not include any leading or trailing blanks in the parameter value; see example 3.
Examples
⟶ {{str rep|Dogs chase cats.|cats|balls}}{{str rep|Dogs chase cats.|cats|balls}}
⟶ {{str rep|Dogs chase cats.|cats |balls }} — {{nay|8px}} leading and trailing blanks are significant; see Details{{str rep|Dogs chase cats.|cats |balls }}
⟶ {{str rep|Dogs chase cats.|2=cats |3=balls }} — {{aye|8px}} ... but not when named parameters are used{{str rep|Dogs chase cats.|2=cats |3=balls }}
⟶ {{str rep|Dogs chase cats. Cats chase mice.|chase|love}} — only first occurrence replaced{{str rep|Dogs chase cats. Cats chase mice.|chase|love}}
⟶ {{str rep|{{Str rep/doc/Dogs and cats}}|chase|love}} — text can be entered by a template{{str rep|{{Str rep/doc/Dogs and cats}}|chase|love}}
See also
- {{tl|Replace}} - to replace all occurrences (or a specific number of occurrences)
{{string-handling templates|IRL}}
}}