#1 Le 05/06/2018, à 18:38
- vercoucas
[Résolu]détecter une majuscule au milieu d'une chaine
Bonjour à tous,
J'ai un fichier contenant une liste de mots structurés comme suit :
GrandeMaison
PetiteCabanne
BeauJardin
Chaque mot possède une majuscule au début et au milieu.
Et je voudrais le convertir en :
Grande Maison
Petite Cabanne
Beau Jardin
en détectant la majuscule du milieu et insérant un espace ( ou un - ) avant la majuscule du milieu pour avoir à chaque fois deux mots bien distincts.
J'ai des essais avec cut et [A-Z] mais je n'ai pas réussi
J'aurais aussi à faire cette séparation sur des variables, je pensais trouver la solution en ligne mais ma recherche à été infructueuse, de même que mes essais.
Merci par avance de votre aide
Dernière modification par vercoucas (Le 05/06/2018, à 20:13)
Hors ligne
#2 Le 05/06/2018, à 18:45
- pingouinux
Re : [Résolu]détecter une majuscule au milieu d'une chaine
Bonjour,
sed -r 's/([a-z])([A-Z])/\1 \2/' fichier
Ajouté :
Ou, plus simple
sed -r 's/(.)([A-Z])/\1 \2/' fichier
Dernière modification par pingouinux (Le 05/06/2018, à 18:49)
Hors ligne
#3 Le 05/06/2018, à 18:57
- vercoucas
Re : [Résolu]détecter une majuscule au milieu d'une chaine
Bonjour Pingouinux,
Merci beaucoup de ton aide, ça marche impeccable.
Il fait réellement que je potasse sed et les regex si je veux progresser.
Formidable le forum, une question... et tout de suite la réponse.
Encore merci.
Hors ligne