Fonction upperCase à la française
2005-07-27 #code-snippets
Fonction upperCase gérant les accents et caratères spéciaux du français :
/// <summary>
/// Returns a copy of a string in uppercase, without accents
/// </summary>
/// <param name="text">Valid string expression</param>
/// <returns>String converted to uppercase</returns>
public static string upperCase (string text) {
const string accents = "ÁÀÄÂÉÈËÊÍÌÏÎÓÒÖÔÚÙÜÛŸÇ";
const string normaux = "AAAAEEEEIIIIOOOOUUUUYC";
string majuscules = text.ToUpper();
for (int i = 0; i < accents.Length; i++) {
majuscules = majuscules.Replace(accents.Substring(i, 1), normaux.Substring(i, 1));
}
majuscules = majuscules.Replace("Æ", "AE");
majuscules = majuscules.Replace("Œ", "OE");
return majuscules;
}
Et la fonction lowerCase correspondante :
/// <summary>
/// Returns a copy of a string in lowercase, without accents
/// </summary>
/// <param name="text">Valid string expression</param>
/// <returns>String converted to lowercase</returns>
public static string lowerCase (string text) {
return upperCase(text).ToLower();
}