Template:Str rep/doc

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[edit]

There are three positional (unnamed) parameters, all required:

  1. the initial text string subject to search and replacement
  2. the find-string to search for in the text
  3. the replacement string: param 3 replaces param 2's first occurrence in param 1.

Details[edit]

The 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[edit]

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 (|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#Usage hints and workarounds. Pipe characters in embedded items such as params or template invocations don't need to be escaped.

White space[edit]

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 |1=, etc. These will not include any leading or trailing blanks in the parameter value; see example 3.

Examples[edit]

  1. {{str rep|Dogs chase cats.|cats|balls}} ⟶ Dogs chase balls.
  2. {{str rep|Dogs chase cats.|cats |balls }} ⟶ Dogs chase cats.     — Red XN leading and trailing blanks are significant; see Details
  3. {{str rep|Dogs chase cats.|2=cats |3=balls }} ⟶ Dogs chase balls.     — Green tickY ... but not when named parameters are used
  4. {{str rep|Dogs chase cats. Cats chase mice.|chase|love}} ⟶ Dogs love cats. Cats chase mice.     — only first occurrence replaced
  5. {{str rep|{{Str rep/doc/Dogs and cats}}|chase|love}}Template:Str rep/doc/Dogs and cats     — text can be entered by a template

See also[edit]

  • {{Replace}} - to replace all occurrences (or a specific number of occurrences)