Is it possible using Regex.Replace to match a string, but only replace a portion of that matched string? Some way to mark part of the string that should be replaced with the replacement text parameter?
1 Answer
You can use groups to insert parts of the original string, or you can use lookbehind and lookahead.
Examples
Using Groups:
someString = Regex.Replace(someString, @"(before)content(after)", "$1new content$2");
Using lookaround:
someString = Regex.Replace(someString, @"(?<=before)content(?=after)", @"new content");
4 Comments
Winforms
 Looking forward to the examples :)
  Winforms
 Works but instead of \1 you need $1
  Winforms
 @SLaks: Why do you have the ?<= and the ?=, without them everything works perfect.  With them it doesn't work.
  SLaks
 @Winforms: Those are lookaround assertions.  It works for me: 
  Regex.Replace("abc", @"(?<=a)b(?=c)", "q")  prints aqc.