StringReplacePart["string","snew",{m,n}]
replaces the characters at positions m through n in "string" by "snew".
StringReplacePart["string","snew",{{m1,n1},{m2,n2},…}]
inserts copies of "snew" at several positions.
StringReplacePart["string",{"snew1","snew2",…},{{m1,n1},{m2,n2},…}]
replaces characters at positions mi through ni in "string" by "snewi".
StringReplacePart["snew",{m,n}]
represents an operator form of StringReplacePart that can be applied to an expression.
StringReplacePart
StringReplacePart["string","snew",{m,n}]
replaces the characters at positions m through n in "string" by "snew".
StringReplacePart["string","snew",{{m1,n1},{m2,n2},…}]
inserts copies of "snew" at several positions.
StringReplacePart["string",{"snew1","snew2",…},{{m1,n1},{m2,n2},…}]
replaces characters at positions mi through ni in "string" by "snewi".
StringReplacePart["snew",{m,n}]
represents an operator form of StringReplacePart that can be applied to an expression.
Details
- StringReplacePart uses position specifications in the form returned by StringPosition. »
- When a list of "snewi" is given, its length must be the same as the length of the list of positions. »
- When multiple positions are given, all refer to the original "string", before any replacements have been done.
- StringReplacePart[s,"",…] can be used to delete substrings. »
- StringReplacePart[new,part][old] is equivalent to StringReplacePart[old,new,part].
- StringReplacePart[BioSequence["type","seq"],"snew",part] will apply the operation to the string "seq", yielding a BioSequence result.
- Given a circular BioSequence and a starting position greater than the ending position, i.e. m>n, then StringReplacePart[bioseq,"snew",{m,n}] replaces the wrapped-around sequence starting at m and ending at n.
Examples
open all close allBasic Examples (3)
Replace characters 2 through 5 with a new string:
StringReplacePart["abcdefghijk", "ABCDEFGH", {2, 5}]Replace several sequences of characters with a new string:
StringReplacePart["abcdefghijk", "ABCDEFGH", {{1, 1}, {3, 5}, {-3, -1}}]Use the operator form of StringReplacePart:
StringReplacePart["ABCDEFGH", {2, 5}]["abcdefghijk"]Scope (5)
Negative positions count from the end:
StringReplacePart["abcdefghijk", "ABCDEFGH", {-3, -2}]Replace two sequences of characters with two new strings:
StringReplacePart["abcdefghijk", {"XYZ", "ABCD"}, {{2, 3}, {-2, -2}}]Use the operator form to replace two sequences of characters with two new strings:
StringReplacePart[{"XYZ", "ABCD"}, {{2, 3}, {-2, -2}}]["abcdefghijk"]Replace a codon in a DNA sequence:
StringReplacePart[BioSequence["DNA", "GCCTGGAGG"], "GGT", {4, 6}]Undertake a wrap-around replace on a biomolecular sequence:
StringReplacePart[BioSequence["CircularDNA", "ACGT"], "NNNN", {4, 1}]Applications (1)
Simulating a multiway system [more info]:
step[rule_List, slist_List] := Union[Flatten[Map[Function[s, Map[step1[#, s]&, rule]], slist]]]step1[p_String -> q_String, s_String] := Map[StringReplacePart[s, q, #]&, StringPosition[s, p]]evolvelist[rule_, init_List, t_Integer] := NestList[step[rule, #]&, init, t]The evolution of a multiway system:
evolvelist[{"AAB" -> "BB", "BA" -> "ABB"}, {"ABBAAB"}, 3]Properties & Relations (3)
StringReplacePart can use the output from StringPosition:
pos = StringPosition["a1b22c333d", DigitCharacter.., Overlaps -> False]StringReplacePart["a1b22c333d", "XYZ", pos]This is equivalent to StringReplace:
StringReplace["a1b22c333d", DigitCharacter.. -> "XYZ"]Replacing with an empty string is equivalent to StringDrop:
StringReplacePart["abcdefghijk", "", {2, 5}]StringDrop["abcdefghijk", {2, 5}]StringReplacePart can drop several sequences of characters at a time:
StringReplacePart["abcdefghijk", "", {{2, 5}, {7, 8}, {-1, -1}}]Use position {n,n-1} to insert at position n, without overwriting anything:
StringReplacePart["abcdefghijk", "ABCDEFGH", {3, 2}]StringInsert can do the same:
StringInsert["abcdefghijk", "ABCDEFGH", 3]Tech Notes
Related Guides
Related Links
History
Introduced in 1996 (3.0) | Updated in 2014 (10.0) ▪ 2016 (10.4) ▪ 2020 (12.2)
Text
Wolfram Research (1996), StringReplacePart, Wolfram Language function, https://reference.wolfram.com/language/ref/StringReplacePart.html (updated 2020).
CMS
Wolfram Language. 1996. "StringReplacePart." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/StringReplacePart.html.
APA
Wolfram Language. (1996). StringReplacePart. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/StringReplacePart.html
BibTeX
@misc{reference.wolfram_2026_stringreplacepart, author="Wolfram Research", title="{StringReplacePart}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/StringReplacePart.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_stringreplacepart, organization={Wolfram Research}, title={StringReplacePart}, year={2020}, url={https://reference.wolfram.com/language/ref/StringReplacePart.html}, note=[Accessed: 13-June-2026]}