[R] Filtre pour analyse syntaxique a la mode scheme

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
DidUngar
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mar. 14 août 2007 23:31
Status : Hors ligne

[R] Filtre pour analyse syntaxique a la mode scheme

#1

Message 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.
Modifié en dernier par DidUngar le dim. 30 déc. 2007 20:24, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#2

Message 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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
DidUngar
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mar. 14 août 2007 23:31
Status : Hors ligne

#3

Message 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.
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

#4

Message par arrkhan »

petit conseil, préfére la separation par un espace insécable (ALT+0160), ca evite les mauvaises surprise
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

#5

Message 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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
DidUngar
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mar. 14 août 2007 23:31
Status : Hors ligne

#6

Message 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.
codename44
Niveau 4
Niveau 4
Messages : 65
Enregistré le : sam. 22 déc. 2007 15:46
Status : Hors ligne

#7

Message 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.. ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

#8

Message 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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
DidUngar
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mar. 14 août 2007 23:31
Status : Hors ligne

#9

Message 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...
codename44
Niveau 4
Niveau 4
Messages : 65
Enregistré le : sam. 22 déc. 2007 15:46
Status : Hors ligne

#10

Message 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
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

#11

Message 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
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
DidUngar
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mar. 14 août 2007 23:31
Status : Hors ligne

#12

Message 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.
DidUngar
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mar. 14 août 2007 23:31
Status : Hors ligne

#13

Message 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.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

#14

Message 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  ...
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre