übereinzustimmen Ich versuche, einen regulären Ausdruck zu finden, um genaues Wort zu finden und es durch ein anderes zu ersetzen. Aber der Ausdruck, den ich benutzt habe, ersetzt gerade Wörter, die mit bestimmten Zeichen wie @ beginnen.Regex-Ausdruck finden, um mit dem speziellen Wort
Hier ist mein Code:
static public string ReplaceWholeWord(this string original, string wordToFind, string replacement, RegexOptions regexOptions = RegexOptions.None){
string pattern = String.Format(@"\b{0}\b", wordToFind);
string ret = Regex.Replace(original, pattern, replacement, regexOptions);
return ret;
}
Hier ist das Ergebnis:
var input = "if(@test is not null)";
input.ReplaceWholeWord("test", "x");
Ergebnis: if (@x ist nicht null)
Für den Moment nur, ich Sie müssen vermeiden, dass die Wörter mit dem Zeichen @
vor ihnen stehen.
Es gibt eine Wortgrenze zwischen '@' und 't'. Versuchen Sie '@" (?
@ WiktorStribiżew, ich nehme an, der 'test' sollte ersetzt werden in' if (test ...) ', so' (?
@MoezRebai, würdest du bitte explizit angeben, welche Zeichen als "Teil eines Wortes" betrachtet werden und welche Zeichen nicht. –