If you look for "concise" when you say simple:
public string StripInvalidChars(string filename) {
return new String(
filename.Except(System.IO.Path.GetInvalidFileNameChars()).ToArray()
);
}
That said, I'd go with JaredPar's solution. It's probably easier to read (depending on taste, background), my gut feeling is that it is more efficient (although I'm not sure how efficient you have to be stripping that dozen of invalid chars from a limited length filename) and his use of a StringBuilder() seems to fit perfectly to your example.