Bonjour à tous,
Je suis cartographe, je réalise des cartes d'un département qui affichent des noms de ville, de quartier etc. Ces noms sont dans une base de données, ils sont en minuscule. Je souhaite à travers un code python, obtenir des majuscules à chaque début de mot même devant les mots ayant un "-" ex : Saint-Christophe. Le code que j'ai réussi à récupérer et à adapter exclut les articles des noms (de, aux, des, en etc.) et met bien les majuscules en début de mots, mais cela pose problème lorsqu'il y a tiret à un nom propre, il n'en met pas. Est il possible d'intégrer dans ce code une fonction pour obliger les majuscules dans un mot après un tiret ?
info :
[graphie] = le champs de mes noms
Je vous remercie par avance, voila le code actuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import re def FindLabel([graphie]): s = [graphie] return " ".join( w.capitalize() if ( i == 0 or ( w not in {"de", "des", "en", "du", "le", "la", "les", "sur", "sous", "en", "aux"} ) ) else w for (i, w) in enumerate(s.split()) ) print(f"{s} --> {FindLabel(s)}")
Partager