StringReplace

StringReplace["string",ssp]

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

StringReplace["string",{s1sp1,s2sp2,}]

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

StringReplace["string",srules,n]

does only the first n replacements.

StringReplace[{s1,s2,},srules]

gives the list of results for each of the si.

StringReplace[srules]

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].

Examples

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  (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:

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:

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:

Introduced in 1991
 (2.0)
 |
Updated in 1999
 (4.0)
2000
 (4.1)
2002
 (4.2)
2003
 (5.0)
2004
 (5.1)
2016
 (10.4)