如何使用 C# 仅替换字符串中的特定单词?

How can I only replace a specific word in a string using C#?

我有一个字符串

 var query =  select id, Details.Id, Details.Info.Id from DetailsItem

我想用 [Details] 替换 Details,所以我正在使用

query.Replace(" Details", " [Details]");

我得到以下信息

select id, [Details].Id, [Details].Info.Id from [Details]Item

但它取代了我不想要的 DetailsItem。如果单词是 Details only,我该如何替换?

您应该使用带有单词边界的 Regex.Replace() 方法,即 \b

string queryResult = Regex.Replace(query, @"\bDetails\b", "[Details]", RegexOptions.None);  

.Try Online