Revision: 26345
                            
                                                            
                                    
                                        
Initial Code
                                    
                                    
                                                            
                                    
                                        
Initial URL
                                    
                                    
                                
                                                            
                                    
                                        
Initial Description
                                    
                                    
                                                            
                                    
                                        
Initial Title
                                    
                                    
                                                            
                                    
                                        
Initial Tags
                                    
                                    
                                
                                                            
                                    
                                        
Initial Language
                                    
                                    
                                                    
                        at April 23, 2010 16:48 by kat
                            
                            Initial Code
/// <summary>
    /// Removes "unsafe" characters from the string.
    /// </summary>
    /// <param name="unsafeString">String to edit</param>
    /// <returns>A "safe" string</returns>
    public static string GetSafeString(string unsafeString)
    {
      // Grab the system invalid chars 
      // Then remove the chars in our IgnoreInvalidChars collection
      char[] systemInvalidChars = Path.GetInvalidFileNameChars();
      List<char> unacceptableChars = new List<char>();
      unacceptableChars.AddRange(systemInvalidChars);
      List<char> okayChars = new List<char>();
      okayChars.AddRange(IgnoreInvalidChars);
      
      // Remove the items in unaccpetableChars
      // that make okayChars.Contains(char) return true
      unacceptableChars.RemoveAll(okayChars.Contains);
      List<char> needEscapeChars = new List<char>();
      needEscapeChars.AddRange(NeedEscapeInRegexChars);
      string regexPattern = StartingRegexPattern;
      // Write each char into a string
      // some chars need to be further escaped
      // for regex to handle them.
      for (int i = 0; i < unacceptableChars.Count; i++)
      {
        //If the char needs to have the escape char in front of it
        // add the escape char
        if (needEscapeChars.Contains(unacceptableChars[i]))
        {
          regexPattern = regexPattern + RegexEscapeString;
        }
        regexPattern = regexPattern + unacceptableChars[i];
      }
      regexPattern = regexPattern + ClosingRegexPattern;
      return Regex.Replace(unsafeString.Trim(), regexPattern, string.Empty);
    }
private static readonly string StartingRegexPattern = "[";
    private static readonly string ClosingRegexPattern = "]";
    private static readonly string RegexEscapeString = @"\";
    private static readonly char[] IgnoreInvalidChars = 
      { '\n', '\r', '\a', '\b', '\t', '\0', '\v', '\f' };
    private static readonly char[] NeedEscapeInRegexChars = 
      { '\\', '/' };
                                Initial URL
Initial Description
Remove illegal chars from a string using regular expressions
Initial Title
Removing bad chars from a string
Initial Tags
Initial Language
C#