Je reconnais regex est un monde étrange et je n'ai pas été en mesure d'obtenir vraiment ma tête enroulée autour d'elle. Mais j'ai ce problème qui, je crois, appartient au monde regex. je voudrais changer les noms de famille comme "o'brian" à "O'Brian" ou "macdonald" à "MacDonald" ou "qui-savaient" à "Who-Knew" ou "qui savait" à "Who Knew"S'il vous plaît aider avec la déclaration regex pour des noms comme o'brian ou macdonald
jusqu'à présent est tout ce que j'ai ....
setCaps("o'brian");
string setCaps(string s)
{
string result = Regex.Replace(s, @"\b[a-z]['a-z]\w+", delegate(Match match)
{
string ch = match.ToString();
return char.ToUpper(ch[0]) + ch.Substring(1);
});
return result;
}
Merci
D'accord. Quand il s'agit de nommer des majuscules, vous devriez probablement laisser l'utilisateur taper dessus plutôt que d'essayer de deviner comment cela devrait être fait. Il y a des gens qui ont des noms étranges avec une étrange capitalisation préférentielle qui pourraient s'irriter si vous essayez de forcer ce qu'ils considèrent être une capitalisation incorrecte. – Welbog
... et tous les Macdonald ne sont pas orthographiés MacDonald! – dtb
... même chose pour Macintosh! –