Bonjour,
Je réalise actuellement un programme qui lit un fichier de properties (Java) et récupère les propriétés qui sont de la forme "clé = valeur"
Mon problème est que l'analyse d'une ligne contenant une propriété est assez importante étant donné que j'ai les conditions suivantes :
- le délimiteur entre la clé et la valeur est "=", ":" ou " "
- si un délimiteur doit se trouver dans une clé ou valeur, il est échappé "\=", "\:" "\ "
- il y a des caractères unicode défini dans le fichier par "\uXXXX"
- etc
Etant donné que le format est assez compliqué, j'ai pensé utiliser une grammaire avec yacc mais étant donné que ma ligne peut être analysée simplement en lisant la chaîne de gauche à droite, il existe peut-être un meilleur algorithme.
Qu'en pensez vous ?
quelques précisions :
- je n'ai pas d'expérience dans l'analyse de chaîne
- le format exact des fichiers .properties est expliqué ici :
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html#load(java.io.InputStream)
(je ne gère pas le multilignes pour simplifier le problème)
Partager