Интересным в этом вопросе является то, что, вероятно, вы также хотите удалить один пробелов, окружающих однобуквенное слово.
string[] oldText = {"This is a test", "a test", "test a"};
foreach (string s in oldText) {
string newText = Regex.Replace(s, @"\s\w\b|\b\w\s", string.Empty);
WL("'" + s + "' --> '" + newText + "'");
}
Выходной ...
'This is a test' --> 'This is test'
'a test' --> 'test'
'test a' --> 'test'