2 votes

séparation des mots fusionnés en python

Je travaille avec un texte où tous les " \n "s ont été supprimés (ce qui fusionne deux mots en un seul, comme "J'aime les bananesEt voici une nouvelle ligne.Et une autre.") Ce que je voudrais faire maintenant, c'est dire à Python de rechercher les combinaisons d'une minuscule suivie d'une majuscule/ponctuation suivie d'une majuscule et d'insérer un espace.

Je pensais que ce serait facile avec les expressions de registre, mais ce n'est pas le cas - je n'ai pas pu trouver de fonction "insérer" ou quoi que ce soit, et les commandes de chaîne ne semblent pas être utiles non plus. Comment dois-je m'y prendre ? Toute aide serait grandement appréciée, je suis désespéré ici...

Merci, Patrick

0voto

Johnsyweb Points 45395

Voici une autre approche, qui évite les expressions régulières et n'utilise aucune bibliothèque importée, seulement des modules intégrés...

s = "I like bananasAnd this is a new line.And another one."
with_whitespace = ''
last_was_upper = True
for c in s:
    if c.isupper():
        if not last_was_upper:
            with_whitespace += ' '
        last_was_upper = True
    else:
        last_was_upper = False
    with_whitespace += c

print with_whitespace

Rendement :

I like bananas And this is a new line. And another one.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X