As Cyral said:
var str = "hello.a.world";
str = Regex.Replace(str, @'\.[a-z]\.', x => x.Value.ToUpper());
//str == "hello.A.world"
This tutorial is a great reference for .NET's regular expression engine and regular expressions in general.
Expresso is a fantastic tool that I use frequently when I work with regular expressions. It will spell out what the regular expression does, and allows you to test it out on sample text. It also uses the same regex engine as .NET, so if your expression works in Expresso, it will work in C#.
Edit: Just to be clear, Cyral's answer is correct, I just wanted to be sure to add these links on to the page, as they are very helpful.