Page 1 sur 1

[R] Filtre pour analyse syntaxique a la mode scheme

Posté : ven. 28 déc. 2007 22:12
par DidUngar
Mon code

Code : Tout sélectionner

$txt = StringReplace($txt, @CR, " ")
$txt = StringReplace($txt, "\n", " ")
Pour mon analyse je slit sur les " ".
Je désire remplacer tout les \n par des espace.
Mais certain perciste.

Quel sont se que j'ai pas trouver ?
Merci d'avance.

Re: [..] Filtre pour analyse syntaxique a la mode scheme

Posté : sam. 29 déc. 2007 00:42
par Tlem
Votre question, n'est pas très claire !

Vous dite :
DidUngar a écrit :Mon code

Code : Tout sélectionner

$txt = StringReplace($txt, @CR, " ")
$txt = StringReplace($txt, "\n", " ")
Je ne vois là, que deux lignes de code qui remplace les CR et les \n par des espaces.
On ne sais pas comment vous récupérer $txt, et ce que cette variable contient !
En réalité, ceci n'est qu'une petite partie de votre code, et sans tous les éléments, nous ne pouvons être d'un grand secours.
DidUngar a écrit :Pour mon analyse je slit sur les " ".
Vous pouvez expliquer cette phrase ?
Même si j'interprète slit par lit, votre phrase ne veut rien dire.

Posté : sam. 29 déc. 2007 00:53
par DidUngar
Je sépare en un tableaux de mot.
Pour cela je coupe comme ca :

Code : Tout sélectionner

$txt_ = StringSplit($txt, " ");
Je slipt par les " ".
Et comme les mots peuvent etre séparé par des a la ligne je préfére les changer en espace.

Posté : sam. 29 déc. 2007 00:59
par arrkhan
petit conseil, préfére la separation par un espace insécable (ALT+0160), ca evite les mauvaises surprise

Posté : sam. 29 déc. 2007 01:16
par Tlem
DidUngar a écrit :Je sépare en un tableaux de mot.
Pour cela je coupe comme ca :

Code : Tout sélectionner

$txt_ = StringSplit($txt, " ");
Je slipt par les " ".
Et comme les mots peuvent etre séparé par des a la ligne je préfére les changer en espace.
Cela ne répond pas entièrement à la question.

Pour être clair :
- d'où vient votre chaîne $txt (Fichier ?).
- Comment la récupèrer vous ?
- Si c'est un fichier, quelle est ça structure initiale, et quelle
doit être ça structure d'arrivée.

Donner des exemples précis, et des modèles de fichiers, cela évitera un tas de post inutiles.

Posté : sam. 29 déc. 2007 02:24
par DidUngar
Ca vient de ClipGet()
J'y est du text.
Exemple :
Ne communiquez jamais votre mot de passe ou votre numéro de carte bancaire dans une conversation sur messagerie instantanée.

DidUngar http://deusfight.com dit :
beep
DidTalk dit :
Lancer un beep sonore ? ( oui / non )
DidUngar http://deusfight.com dit :
oui
DidTalk dit :
Beep lancer !
DidTalk dit :
Beep fini.
DidUngar http://deusfight.com dit :
message
DidTalk dit :
Desirez-vous laissez un message ? ( oui / non )
DidUngar http://deusfight.com dit :
oui
DidTalk dit :
Quel est ce message ?
....
Voila un exemple.
Se clip get n'est pas utile dans sa totalité, donc je le split
Je split par ":"
Je regarde qui as parler
et j'analyse la derniére réponce.
Soit :
oui
Ici la derniére réponce donnée.
Et la premiére lettre est \n enfin a la ligne.
Comment le transphormer en espace.

Posté : sam. 29 déc. 2007 12:40
par codename44
je ne comprends pas ton explication

bon disons que tu as ca dans ton clipget :
Ne communiquez jamais votre mot de passe ou votre numéro de carte bancaire dans une conversation sur messagerie instantanée.

DidUngar http://deusfight.com dit :
beep
DidTalk dit :
Lancer un beep sonore ? ( oui / non )
DidUngar http://deusfight.com dit :
oui
DidTalk dit :
Beep lancer !
DidTalk dit :
Beep fini.
DidUngar http://deusfight.com dit :
message
DidTalk dit :
Desirez-vous laissez un message ? ( oui / non )
DidUngar http://deusfight.com dit :
oui
DidTalk dit :
Quel est ce message ?
tu veux recupérer quoi exactement, et sous quelle forme ?

tu veux recuperer uniquement le dernier message ?
ou bien chaque message de chaque personne ?
ou bien chaque message d'une des 2 personnes.. ?

Posté : sam. 29 déc. 2007 12:51
par Tlem
Merci codename44, j'avais la même réflexion que toi ...

@DidUngar
Bon je ne sais pas comment expliquer ça, mais essayez un peut d'imaginer que vous deviez expliquer votre demande à votre grand mère, car nous ne sommes pas dans votre esprit, nous n'avons pas suivit vos travaux, et si vous ne donnez pas toutes les explications nécessaires, il nous faut interpréter votre demande, et cela représente une perte de temps pour tous.

Donc encore une fois, faites le nécessaire pour que votre grand mère comprenne, et tout ira bien.

Posté : dim. 30 déc. 2007 03:16
par DidUngar
Je regarde qui as parler
et j'analyse la derniére réponce.
J'avais présisez.

Donc je regarde les 2 dérniéres partie.
L'avant dérniére pour savoir qui as parler.
Et la derniére pour l'analyser.

Mais j'ai aussi dit que j'arrive a le découper.
Le probléme c'est que lorsque j'analyse je décompose mon message en séparant les mots.
Pour cela je sépare en faisant un tableaux grace au espace.
Mais le premié caractére de ma phrase est un : "a la ligne"
Se qui fait que mon premier mot n'est pas compréhensible.

Comment retiré se "a la ligne"
Pour moi a la ligne c'est \n
et j'ai lu dans les manuels que windows utiliser un autre caractére que vous trouviez par la macro @CR
J'ai donc sorti le code :

Code : Tout sélectionner

 $txt = StringReplace($txt, @CR, " ")
$txt = StringReplace($txt, "\n", " ")
Mais le " a la ligne " est toujours la.
( si j'obtient 500 Espaces ne me dérange pas je les netoyes aprés )

Tlem je voit déjà ta réflexion , mon code est incomplet.
Si tu veut le code complet il n'y as aucun probléme.
Passe moi ton mail et je t'envoye les 6 a 8 fichiers mais je ne pense pas que de blinder le phorum avec le code soit trés utile...

Posté : dim. 30 déc. 2007 10:45
par codename44
peux-tu donner un exemple d' "avant derniere partie" et de "derniere partie" ? tu comprendras que ce n'est pas tres explicite ..

donc si j'ai bien compris tu decoupe la "derniere partie" en utilisant le caractère 'espace' et tu range chaque morceau dans un tableau.

et donc dans tableau[0] se trouve un mot incompréhensible ?

si tu affiches tableau[0] tu obtiens quoi ?
tu peux donner un exemple

Posté : dim. 30 déc. 2007 12:57
par Tlem
DidUngar a écrit :Remplacer ces deux lignes de code :

Code : Tout sélectionner

 $txt = StringReplace($txt, @CR, " ")
$txt = StringReplace($txt, "\n", " ")
Par :

Code : Tout sélectionner

$txt = StringReplace($txt, " dit :" & @CRLF, @TAB)
 
Cela devrait vous donnez un truc du genre :
Nom Tabulation Réponse

Posté : dim. 30 déc. 2007 20:21
par DidUngar
Tlem a écrit :
DidUngar a écrit :Remplacer ces deux lignes de code :

Code : Tout sélectionner

 $txt = StringReplace($txt, @CR, " ")
$txt = StringReplace($txt, "\n", " ")
Par :

Code : Tout sélectionner

$txt = StringReplace($txt, " dit :" & @CRLF, @TAB)
 
Cela devrait vous donnez un truc du genre :
Nom Tabulation Réponse

Code : Tout sélectionner

$txt = StringReplace($txt, " dit :" & @CRLF, @TAB)
Je vais utiliser la macro @CRLF.
Je ne cherche pas a faire de la tabulation ni de la mise en forme.
Juste une resyntaxication.

Et dans la decomposition que j'ai besoin pour l'analyse il faut que chaque mot soit séparé par des espaces.
La partie "dit :" , fait partie du nom de l'utilisateur ayant poster.
Ce n'est pas joli mais ce n'est pas genant nons plus.

Code : Tout sélectionner

    $txt = StringReplace($txt, @CR, " ")
    $txt = StringReplace($txt, @LF, " ")
    $txt = StringReplace($txt, @CRLF, " ")
    $txt = StringReplace($txt, "\n", " ")
Me reste plus qu'as tester, je vous dite le résultat.

Posté : dim. 30 déc. 2007 20:24
par DidUngar
J'ai rajouter :

Code : Tout sélectionner

$txt = StringReplace($txt, "\n", " ")
Il me dit :
20:17:43
DidUngar http://deusfight.com
je suis qui ?
20:17:53
DidTalk
Tu est :
DidUngar http://deusfight.com dit :
Ton email est :
didungar@gmail.com
***Attention, je tient a presisez que je suis un robot.***
20:18:00
DidUngar http://deusfight.com
tu est qui ?
20:18:02
DidTalk
Je suis un programme automatique qui receptionne les messages.
Enfin un ordinateur inteligent !
Merci a tous.

Posté : dim. 30 déc. 2007 21:04
par Tlem
[quote="DidUngar"]J'ai rajouter :

Code : Tout sélectionner

$txt = StringReplace($txt, "\n", " ")[/code=autoit][/quote]
Ce dernier ajout, ne vous sert à rien, puisque dans votre texte la chaine de caractère '[b]\n[/b]' n'existe pas !
Mais bon, si cela vous convient  ...