我试图从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#中做到这一点?
您需要一个仅与字边界上的"a"匹配的正则表达式模式."\b"
在正则表达式模式中表示单词边界:
Regex.Replace("this is a car", @"\ba\b", "")
Run Code Online (Sandbox Code Playgroud)
如果你想匹配大写的"A",请确保你的模式忽略case(RegexOptions.IgnoreCase
)或明确地将"A"添加到模式中"\b[Aa]\b"
.