替换特定字符串C#?

Arr*_*rry 2 c# string

我试图从C#中的字符串替换特定的子字符串.

我的字符串是: This is a car.

我试图用这段代码用字符串中的string.Empty替换'a':

data = data.Replace("a", string.Empty);
Run Code Online (Sandbox Code Playgroud)

但我的输出是:

This is c r.
Run Code Online (Sandbox Code Playgroud)

我只想删除'a'的孤立出现,而不是在其他单词(如汽车)中使用此char/word时.

我想要一个类似的输出: This is car.

我怎么能在C#中做到这一点?

Meh*_*ari 5

您需要一个仅与字边界上的"a"匹配的正则表达式模式."\b"在正则表达式模式中表示单词边界:

Regex.Replace("this is a car", @"\ba\b", "")
Run Code Online (Sandbox Code Playgroud)

如果你想匹配大写的"A",请确保你的模式忽略case(RegexOptions.IgnoreCase)或明确地将"A"添加到模式中"\b[Aa]\b".