Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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