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:

  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 =

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

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

See also

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

{{string-handling templates|IRL}}

{{Sandbox other||

Replace, {{PAGENAME}}

}}