Comment remplacer une phrase par une autre

lp0683 Messages postés 20 Date d'inscription jeudi 30 novembre 2000 Statut Membre Dernière intervention 21 mars 2010 - 28 févr. 2008 à 12:16
NHenry Messages postés 15000 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 septembre 2022 - 3 mars 2008 à 14:14
Bonjour a tous,

J'ai un petit soucis, j'aimerai savoir si il était possible de remplacer une phrase par une autre ou alors de reconnaitre une phrase et y ajouter des balises.

Voila je m'explique rapidement :

Je voudrai coller du texte dans un petit logiciel, qu'il l'analyse et me le ressorte avec quelques modif :
Par exemple :
Attaquant Dupont il me le ressorte en Attaquant Dupont


On me comprend ? Bon bien sur après il y aura quelques petites options du genre le ZZZ sera modifiable avec l'interface etc. Mais ca c'est facultatif pour le moment.

Serait-il possible ? Si oui que je me lance le plus tot possible et même comment faire ? car en php c'est possible mais je n'ai jamais su le faire en php.

Je vous remercie par avance. Amicalement

9 réponses

NHenry Messages postés 15000 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 septembre 2022 158
28 févr. 2008 à 12:27
Bonjour

Quel est le critère de ta recherhce ?
- "Attaquant Dupont"
ou
- "[code]"

Dans le premier cas, tu peux faire :
MaChaine=Replace(MaChaine,"Attaquant Dupont","Attaquant Dupont")
Dans le 2ième :
Voir ce snippet

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
28 févr. 2008 à 12:28
Salut
Chaine = Replace(Chaine, "Attaquant Dupont", "Attaquant Dupont")
devrait suffire

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
lp0683 Messages postés 20 Date d'inscription jeudi 30 novembre 2000 Statut Membre Dernière intervention 21 mars 2010
28 févr. 2008 à 22:40
Merci à vous deux

le [code] c'est car je croyé que c'était en bbcode ce forum.

Et bien le soucis c'est que je connais cette synthaxe mais enfaite Dupont est une variable. Cela change constament enfaite, une fois ca sera Dupont une autre Machin une autre bidule etc

Donc une idée ?
0
NHenry Messages postés 15000 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 septembre 2022 158
29 févr. 2008 à 13:31
Bonjour

Si j'ai bien compris, à chaque nom de famille, il faut changer la couleur (par exemple) ?
Dans ce cas, tu peux faire une tableau :

public type TMiseForme
    Nom as string
    Color as long
end type

Dim mtMise_En_Forme() as TMiseForme

Et dans i=une fonction/Sub tu remplis

Redim mtMise_En_Forme(0 to 5)
mtMise_En_Forme(0).Nom="Dupond"
mtMise_En_Forme(0).Color=RGB(0,0,255)
mtMise_En_Forme(1).Nom="Dupont"
mtMise_En_Forme(1).Color=RGB(0,255,255)
mtMise_En_Forme(2).Nom="Durand"
mtMise_En_Forme(2).Color=RGB(0,255,)

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lp0683 Messages postés 20 Date d'inscription jeudi 30 novembre 2000 Statut Membre Dernière intervention 21 mars 2010
29 févr. 2008 à 16:43
Non c'est pas ca enfaite.

Le nom de famille (ou pseudo) change a chaque fois. Mais il est n'est pas connu à l'avance enfaite c'est une donnée qui change tout le temps.

Donc le truc c'est que j'aimerai que quand je colle Attaquant XXX il me mette les balises autour de Attaquant XXX.

On me comprends ?

Autre exemple :

Nb de machin : 28

Mais le 28 va changer selon la personne etc donc l'idée c'est d'inclure le 28 ou XXX (plus haut) sans le connaitre a l'avance dans les balises.

Car enfaite j'ai un jeu où j'ia des rapport mais j'attaqu au hasard et ce logiciel me permettra de formater mes rapports mais le logiciel devra reconaitre que après Attaquant c'est une "variable" mais qu'il faudra l'inclure dans le remplace.

On m'a compris ?
0
NHenry Messages postés 15000 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 septembre 2022 158
29 févr. 2008 à 16:54
Bonjour

Donc, ton but est que si tu as ces données :
Personne : 88
Personne : 89
Ennemi : 110
Avoir en résultat (après transcription des balises) :
Personne : 88

Personne : 89

Ennemi : 110

ou un truc du genre ?

Donc si ce sont forcément des lignes séparées, tu peux rechercher du coté de InStr, ou si c'est un fichier la source, Line Input # .
Sinon, donnes-nous un exemple.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
0
lp0683 Messages postés 20 Date d'inscription jeudi 30 novembre 2000 Statut Membre Dernière intervention 21 mars 2010
29 févr. 2008 à 18:27
Ok

C'est presque ca, je colle un bout du rapport :

en brut :
"Osso a organisé une embuscade contre Rian !
Chance de réussite de l`embuscade: 70,00 %

Osso a amené 7 agents de sécurité en renfort.
Rian est protégée par 8 policiers des patrouilles locales, parfaitement entraînés.

Osso a préparé un plan minutieux.
Grâce à une identification efficace du terrain tu as réussi à surprendre Rian.
OSSO     vs     RIAN
    29    NIVEAU    29   
515 / 515    Pts DE VIE    493 / 493
31    Défense    37"

Et après formatage je voudrais changer deja le debut puis ce qui va suivre :

"[center]Osso a organisé une embuscade contre Rian ! (sachant bien sur que Rian et Osso change contamment)

Chance de réussite de l`embuscade: 70,00 %

Osso a amené 7 agents de sécurité en renfort.

Rian est protégée par 8 policiers des patrouilles locales, parfaitement entraînés.

Osso contre Rian
29    NIVEAU    29
515 / 515    PV    493 / 493
........../center"

Donc les noms changent, les nombres aussi.

Comment peut-on faire ?

Merci beaucoup en tout cas de m'aider
0
lp0683 Messages postés 20 Date d'inscription jeudi 30 novembre 2000 Statut Membre Dernière intervention 21 mars 2010
29 févr. 2008 à 22:50
J'ai une idée mais je suis pas sur

Je stock le nom Osso en variable : nom1.
Pour la stocker il faudrai trouver le moyen de dire que c'est le n-ième therme de la ligne qui doit etre sotcké
ensuite faire remplace avec "Attaquant nom1" par "Attaquant nom1

C'est possible ?
0
NHenry Messages postés 15000 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 septembre 2022 158
3 mars 2008 à 14:14
Bonjour

Il faudrait que tu lises ton fichier en ligne/ligne (Line Inpuit #),
Ensuite, il faut repérer le type de ligne :

If InStr(MaLigne,"a organisé une embuscade contre") >0 then
    MaLigne="" & left$(MaLigne,instr(maligne," ") & "a organisé une embuscade contre" & mid$(MaLigne,instrRev(MaLigne," ")) & ""
elseif  InStr(MaLigne,"a amené")>0 then

elseif ...

End If

MaLigne contient les données reformatées.

Toujours en faisant les tests de chaines les plus longues en premier, pour éviter des erreurs de traduction.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
0