StringReplaceList["string",ssp] or StringReplaceList["string",{s1sp1,s2sp2,}]

gives a list of the strings obtained by replacing each individual occurrence of substrings in "string" matching the string expressions si.


gives a list of the first n results obtained.


gives the list of results for each of the si.

Details and Options

  • The string expressions si can contain any of the objects specified in the notes for StringExpression.
  • In each of the results returned by StringReplaceList only one substring has been replaced.
  • StringReplaceList 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, returning a result for each one that applies.
  • StringReplaceList in effect carries out a single step in the evolution of a multiway system.
  • If the spi in the replacements si->spi do not evaluate to strings, StringReplaceList 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 StringReplaceList treat lowercase and uppercase letters as equivalent.


open allclose all

Basic Examples  (2)

Make replacements for "c" in all possible ways:

Scope  (9)

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:

Generate at most two possible results:

Replace occurrences of either string:

StringReplaceList works on special characters:

StringReplaceList automatically threads over lists of strings:

Options  (1)

IgnoreCase  (1)

Make replacements for "c" in all possible ways, including uppercase letters:

There are fewer results when taking case sensitivity into account:

Applications  (2)

Five steps in the evolution of the Fibonacci multiway system [more info]:

Two steps in the evolution of another multiway system:

All possible replacements of the form :

Possible Issues  (1)

StringReplaceList yields a StringExpression if the rule does not have a string result:

Wolfram Research (2004), StringReplaceList, Wolfram Language function,


Wolfram Research (2004), StringReplaceList, Wolfram Language function,


@misc{reference.wolfram_2020_stringreplacelist, author="Wolfram Research", title="{StringReplaceList}", year="2004", howpublished="\url{}", note=[Accessed: 27-February-2021 ]}


@online{reference.wolfram_2020_stringreplacelist, organization={Wolfram Research}, title={StringReplaceList}, year={2004}, url={}, note=[Accessed: 27-February-2021 ]}


Wolfram Language. 2004. "StringReplaceList." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2004). StringReplaceList. Wolfram Language & System Documentation Center. Retrieved from