public static string GetValidFileName(string fileName) { string invalidChars = new string(Path.GetInvalidFileNameChars()); string invalidReStr = string.Format(@"([{0}]*\.+$)|([{0}]+)", Regex.Escape(invalidChars)); return Regex.Replace(fileName, invalidReStr, "_"); }