Chercher les accent dans un texte par python
Résolu
masal
-
masal -
masal -
bonjour je suis débutant en programmation et j'ai besoin d'un programme qui cherche les caractères spéciaux comme (é,à,è,...) dans un texte et les remplace [par exemple (é=\'e)] alors j'ai pensé à en utilisant un tableau dans lequel il y a les caractères spéciaux avec leurs correspondances mais je ne sais pas comment je peux le faire
A voir également:
- Chercher les accent dans un texte par python
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Citizen code python avis - Accueil - Outils
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- E accent minuscule - Guide
2 réponses
Bonjour,
Tu peux t'inspirer de ce qui est fait dans ce fichier :
Bonne chance
Tu peux t'inspirer de ce qui est fait dans ce fichier :
#!/usr/bin/env python3 # -*- coding: utf-8 -*- MAP_TO_INTERNATIONAL = { # Upper case "Á": "A", "À": "A", "Ä": "A", "Ć": "C", "Ç": "C", "Đ": "D", "É": "E", "Ê": "E", "È": "E", "Ë": "E", "Í": "I", "Î": "I", "Ï": "I", "Ł": "L", "Ö": "O", "Ô": "O", "Û": "U", "Ü": "U", "Š": "S", # Lower case "á": "a", "à": "a", "ä": "a", "ć": "c", "ç": "c", "đ": "d", "é": "e", "ê": "e", "è": "e", "ë": "e", "í": "i", "î": "i", "ï": "i", "ł": "l", "ö": "o", "ô": "o", "û": "u", "ü": "u", "š": "s", # Only lower "ß": "ss", } def to_international_string(s: str) -> str: translator = str.maketrans(MAP_TO_INTERNATIONAL) return s.translate(translator)
Bonne chance
masal
merci beaucoup pour votre aide
Bonjour,
J'ai effectué plutôt l'inverse sur des fichiers de playlist musicaux où les chemins d'accès contenaient des caractères %xx, par exemple %20 = blanc, %C3%A8 = è
Voilà un exemple qui traite cela,
avec le fichier en entrée qui constitue le tableau de caractères à traiter :
J'ai effectué plutôt l'inverse sur des fichiers de playlist musicaux où les chemins d'accès contenaient des caractères %xx, par exemple %20 = blanc, %C3%A8 = è
Voilà un exemple qui traite cela,
car = [] with open("UrlUncTranscodage.txt", encoding="utf8") as fichier: for ligne in fichier: car.append((ligne[0:1],ligne.rstrip('\n')[2:])) print(car) line="file://nasina/Multimedia/Musique/CD/Alain%20Bashung/Bleu%20P%C3%A9trole/05-V%C3%A9nus.mp4</location>" for i in range(len(car)): print(car[i][0],car[i][1]) line=line.replace(car[i][1],car[i][0]) print(line)
avec le fichier en entrée qui constitue le tableau de caractères à traiter :
%20
! %21
" %22
# %23
$ %24
% %25
& %26
' %27
( %28
) %29
¤ %2A
+ %2B
, %2C
- %2D
. %2E
/ %2F
: %3A
; %3B
< %3C
= %3D
> %3E
? %3F
@ %40
[ %5B
\ %5C
] %5D
^ %5E
_ %5F
` %60
{ %7B
| %7C
} %7D
~ %7E
« %C2%AB
» %C2%BB
À %C3%80
 %C3%82
Ç %C3%87
È %C3%88
É %C3%89
Ê %C3%8A
Ë %C3%8B
Î %C3%8E
Ï %C3%8F
Ô %C3%94
Ù %C3%99
Û %C3%9B
à %C3%A0
â %C3%A2
ç %C3%A7
è %C3%A8
é %C3%A9
ê %C3%AA
ë %C3%AB
î %C3%AE
ï %C3%AF
ô %C3%B4
ù %C3%B9
û %C3%BB
' '
& &
Le fichier contient, nouveau caractère, ancien caractère. Il est structuré ainsi car le nouveau caractère fait toujours une position, l'ancien ayant une longueur n. Pour toi ce devrait être ancien, nouveau puisque tu veux convertir un caractère en 3.
Après je traite la chaine du nom de fichier, en faisant une boucle pour traiter tous les caractères du tableau car[] et remplacer l'ancienne valeur par la nouvelle
car.append((ligne[0:1],ligne.rstrip('\n')[2:])) ]j'ajoute au tableau car, le tuple(nouveau,ancien) en découpant la ligne du fichier, le premier caractère, puis à compter de la position 2 jusqu'à la fin en supprimant le caractère fin de ligne (\n)
Après je traite la chaine du nom de fichier, en faisant une boucle pour traiter tous les caractères du tableau car[] et remplacer l'ancienne valeur par la nouvelle