I am using regex to replace certain keywords from a string (or Stringbuilder) with the ones that I choose. However, I fail to build a valid regex pattern to replace only whole words.
For example, if I have InputString = “fox foxy” and want to replace “fox” with “dog” it the output would be “dog dogy”.
What is the valid RegEx pattern to take only “fox” and leave “foxy”?
public string Replace(string KeywordToReplace, string Replacement) /
{
this.Replacement = Replacement;
this.KeywordToReplace = KeywordToReplace;
Regex RegExHelper = new Regex(KeywordToReplace, RegexOptions.IgnoreCase);
string Output = RegExHelper.Replace(InputString, Replacement);
return Output;
}
Thanks!
Regexes support a special escape sequence that represents a word boundary. Word-characters are everything in
[a-zA-Z0-9]. So a word-boundary is between any character that belongs in this group and a character that doesn’t. The escape sequence is\b: