{{{1}}}
![]() | This is the template sandbox page for Template:Str rep (diff). |
![]() | This template is used in system messages, and on approximately 273,000 pages. Changes to it can cause immediate changes to the Wikipedia user interface. To avoid major disruption and server load, any changes should be tested in the template's /sandbox or /testcases subpages, or in your own user subpage. The tested changes can be added to this page in a single edit. Please discuss changes on the talk page before implementing them. |
![]() | This template uses Lua: |
Returns a modified copy of a given text, with the first occurrence of a find-string replaced with a replacement-string.
Usage
edit{{Str rep|text...|find-string|replace-string}}
{{Str rep| 1=text... | 2=find-string | 3=replace-string }}
This is equivalent to {{#invoke:String|replace|source=text...|find-string|replace-string|1}}
.
Parameters
editThere 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
editThe value of the text parameter may be anything that resolves to a string, such as:
- Immediate text entered directly into the parameter field:
{{str rep|Dogs chase cats. Cats chase mice.|...}}
- A parameter passed from a transcluding template:
{{str rep|{{{5|}}}|...}}
or{{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
editEqual 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 (|1=
, |2=
, and |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 {{!}}. 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
editPay 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 |1=
, etc. These will not include any leading or trailing blanks in the parameter value; see example 3.
Examples
edit{{str rep|Dogs chase cats.|cats|balls}}
⟶ Dogs chase balls.{{str rep|Dogs chase cats.|cats |balls }}
⟶ Dogs chase cats. —8px leading and trailing blanks are significant; see Details
{{str rep|Dogs chase cats.|2=cats |3=balls }}
⟶ Dogs chase balls. —... but not when named parameters are used
{{str rep|Dogs chase cats. Cats chase mice.|chase|love}}
⟶ Dogs love cats. Cats chase mice. — only first occurrence replaced{{str rep|{{Str rep/doc/Dogs and cats}}|chase|love}}
⟶ Dogs love cats. Cats chase mice. — text can be entered by a template
See also
edit- {{Replace}} - to replace all occurrences (or a specific number of occurrences)