replaces the string expression s by sp wherever it appears in "string".


replaces the string expressions si by spi whenever they appear as substrings of "string".


does only the first n replacements.


gives the list of results for each of the si.


represents an operator form of StringReplace that can be applied to an expression.

Details and Options

  • The string expressions si can contain any of the objects specified in the notes for StringExpression.
  • StringReplace goes through a string, testing substrings that start at each successive character position. On each substring, it tries in turn each of the transformation rules you have specified. If any of the rules apply, it replaces the substring, then continues to go through the string, starting at the character position after the end of the substring.
  • If the spi in the replacements si->spi do not evaluate to strings, StringReplace will yield a StringExpression rather than an ordinary string.
  • In replacements of the form si:>spi, the spi are not evaluated until each time they are used.
  • Setting the option IgnoreCase->True makes StringReplace treat lowercase and uppercase letters as equivalent.
  • StringReplace[srules][expr] is equivalent to StringReplace[expr,srules].
  • StringReplace[BioSequence["type","seq"],srules,] will replace occurrences in the string "seq" according to srules yielding a biomolecular sequence. In this case, degenerate letters in the si of the rules si->spi are interpreted as wildcard patterns based on the type of biomolecular sequence. Use Verbatim[si] to match degenerate letters literally.
  • The documentation for BioSequence lists the degenerate letters supported by each type of biomolecular sequence.
  • If the biomolecular sequence operated upon by StringReplace is circular, wraparound matches are possible.


open allclose all

Basic Examples  (3)

Replace every occurrence of "ab" with "X":

Replace every substring that has one or more occurrences of "ab" with "X":

Use the operator form of StringReplace:

Scope  (12)

Use string patterns:

Use a regular expression:

Use pattern matching for dates:

Mixed regular expressions and string patterns:

Use RuleDelayed (:>) in order to evaluate the right-hand side of a rule:

Replace only the two first occurrences that match the given pattern:

Replace occurrences of either string:

StringReplace works on special characters:

StringReplace automatically threads over lists of strings:

Change the nucleotides in a biomolecular sequence:

Use a wildcard in the pattern replaced in a given biomolecular sequence:

The "N" is a degenerate letter and is not a wildcard except in biomolecular sequences:

Additional wraparound replacements may be made in circular biomolecular sequences:

Replace only literal degenerate letter occurrences using Verbatim:

Generalizations & Extensions  (1)

Replacements can be nonstrings:

Options  (1)

IgnoreCase  (1)

This replaces all occurrences regardless of case:

Applications  (7)

Remove leading and trailing spaces:

Remove comments in a text:

Extract comments from a text:

Strip off all tags "<...>" from an HTML document:

Capitalize all words in a sentence:

Change the date convention in a text:

Identify prime numbers in a text:

A neighbor-independent substitution system:

Five steps in the evolution:

Properties & Relations  (1)

StringPosition gives the starting and ending positions at which a pattern occurs:

The output can be used with StringReplacePart:

Same result:

Neat Examples  (1)

Highlight words of a given length in a text excerpt from the book A New Kind of Science:

Wolfram Research (1991), StringReplace, Wolfram Language function, (updated 2020).


Wolfram Research (1991), StringReplace, Wolfram Language function, (updated 2020).


Wolfram Language. 1991. "StringReplace." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020.


Wolfram Language. (1991). StringReplace. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_stringreplace, author="Wolfram Research", title="{StringReplace}", year="2020", howpublished="\url{}", note=[Accessed: 28-May-2024 ]}


@online{reference.wolfram_2024_stringreplace, organization={Wolfram Research}, title={StringReplace}, year={2020}, url={}, note=[Accessed: 28-May-2024 ]}