Bonjour,
désolé pour ce titre.
Voici mon problème : je voudrais éclater la chaîne
"Un premier test : ¨mefs et ¨mef.Encore des ¨mefs..."
sous la forme
["Un premier test : ", "¨mefs", " et ", "¨mef", ".Encore des ", "¨mefs", "..."].
J'ai fait le code suivant :
Ce code renvoie :
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 #! /usr/bin/env python3 import re PATTERN = re.compile("¨\w+") def splitForReplace(text): textSplitted = [] for onePieceWithNoAbrev in PATTERN.split(text): start = text.find(onePieceWithNoAbrev) end = start + len(onePieceWithNoAbrev) before = text[:start] # One possible abreviation. if before: textSplitted.append(before) textSplitted.append(text[start:end]) text = text[end:] if text: textSplitted.append(text) return textSplitted if __name__ == '__main__': tests = [ 'Circulez, y a rien à voir !', 'Un premier test : ¨mefs et ¨mef.Encore des ¨mefs...', 'Un autre test :¨mef,¨Mef, ¨MEF, ¨MeF...', ] for oneTest in tests: print( '---', oneTest.strip(), splitForReplace(oneTest), sep = '\n' )
Tout ceci me permet de repérer les séquences ¨word pour faire des remplacements au cas par cas. Peut-être que les regex permettent directement cela...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 --- Circulez, y a rien à voir ! ['Circulez, y a rien à voir !'] --- Un premier test : ¨mefs et ¨mef.Encore des ¨mefs... ['Un premier test : ', '¨mefs', ' et ', '¨mef', '.Encore des ', '¨mefs', '...'] --- Un autre test :¨mef,¨Mef, ¨MEF, ¨MeF... ['Un autre test :', '¨mef', ',', '¨Mef', ', ', '¨MEF', ', ', '¨MeF', '...']
Avez-vous d'autres méthodes à proposer ?
Partager