TextInfo.ToTitleCase ne fonctionne pas correctement, aucune de meilleures solutions?

StackOverflow https://stackoverflow.com/questions/1742712

  •  20-09-2019
  •  | 
  •  

Question

Je suis en train de faire mon Titre de l'article bien formaté, j'utilise actuellement TextInfo.ToTitleCase pour formattage. Il fait bien sur la plupart des emplois, mais ce n'est pas parfait.

Par exemple:

  • Chaîne d'origine: la guerre et la paix
  • Résultat attendu: Guerre et Paix
  • Résultat réel: Guerre et Paix

Microsoft utilisent également ci-dessus comme l'exemple , il est évidemment un problème connu. Ce que je vais faire est d'écrire une liste à la main pour ces mots comme « a », « et », « ou » etc (je ne suis pas sûr que je peux obtenir une liste complète ou non), serait-il le meilleure solution pour ce problème?

Était-ce utile?

La solution

Voici une implémentation JavaScript à partir d'une source que je fais confiance et moi-même avons utilisé: http : //ejohn.org/blog/title-capitalization-in-javascript/

Dans les , il a une liste de minuscules uniquement des exceptions que vous ( Je crois bien) supposé que vous auriez besoin.

Le travail serait dans la conversion à quelque chose ASP.NET pourrait utiliser Serverside, bien sûr, mais la logique a déjà eu beaucoup de réflexion mis en elle qui devrait vous aider avec tout ce que vous finissez par rouler.

Bonne chance!

Autres conseils

Je ne l'ai pas vu une solution à ce problème dans une bibliothèque fournie ... Il semble un excellent candidat pour un méthode d'extension . Fait intéressant, il est un peu plus complexe qu'une simple liste de mots et a quelques variations.

Chicago Manual of Style suggère ceci:

  1. Toujours tirer le premier et le dernier mot.

  2. Capitaliser tous les noms, les pronoms, adjectifs, verbes, adverbes et conjonctions subordonnées ( « comme », "Parce que", "bien").

  3. Minuscules tous les articles, coordonner conjonctions ( "et", "ou", "ni"), et quel que soit prépositions Enfin, quand ils sont autre que le premier ou dernier mot.

  4. Minuscules le "à" dans un infinitif.

Le dernier cas semble difficile que vous devez analyser en particulier pour déterminer si « à » est utilisé dans un infinitif.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top