En fait, ce que mon bout de code fait, c'est qu'il récupère dans une liste les valeurs situées entre ##
Ainsi pour "le lien vers ##contactIti## est à modifier ##autrechose## à remplacer aussi"
on aura:
test[0] = "contactIti"
test[1] = "autrechose"
et dans le code que tu as transcrit, il faut une copie de s sur laquelle travailler. Dans mon exemple je prends S qui est une valeur d'une textbox, du coup je peux travailler sur S et réutiliser le texte de la textbox plus tard.
Mais comme dis, avec les Regex ca me semble pas mal non plus
Ben j'ai juste juste changé le [a-z] en \w dans ta regex enfait
Du coup tu utilises ca dans le code que t'avais déjà
Explication: [a-z] signifie tous les caractères entre a et z (uniquement des minuscules
\w correspond à [A-Za-z0-9] donc tous les caractères entre a et z (majuscules et minuscules) et les chiffres.
@Nathanael : ok, merci pour l'explication, je n'avais pas compris ça au départ.
Par contre, je ne vois toujours pas comment je récupère la chaine entre les ## pour la convertir et la remplacer dans la chaine de base.
@Papouuu et BuchsPa :
Ok, j'ai capté et j'ai fait ça :
ça me remplace bien les chaine entre les ## et ça me met les valeurs que j'attend à la place.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Dim sbase As String = "le lien vers ##contactIti## est à modifier ##Accueil## à remplacer" Dim s As String = "le lien vers ##contactIti## est à modifier ##Accueil## à remplacer" Dim test As New List(Of String) For i As Int16 = 0 To s.Length If s.IndexOf("##") > 0 Then Dim x As String = s.Substring(s.IndexOf("##") + 2) Dim y As String = x.Remove(x.IndexOf("##")) s = x.Substring(y.Length + 2) test.Add(y) End If Next For Each sr As String In test sbase = Replace(sbase, "##" & sr & "##", Paragraphe.repTexte(sr)) Next Response.Write(sbase)
Maintenant si vraiment c'est mieux avec les expressions régulières, je suis preneur, mais je comprends pas comment travailler avec.
relis bien le tutorial tout est dedans. après tu peux chercher sur google un site qui vérifie les expressions régulières. ca se travaille les regexps. ca n'est pas évident au début. mais relis bien et tu comprendras.
Ouaip, j'en suis à 10 lectures et je comprends pas plus, donc je crois que je vais abandonner l'idée, ça me fera gagner du temps, je pense.
qu'est ce qui te rebute? tu n'en avais pas fait au cours de tes études ou peut être dans les différents poste que tu as eu? il faut comprendre la syntaxe, tester pas mal. je concois qu'au debut ce soit hardu mais une fois que tu en auras fait quelques unes tu verras que c'est plutot pas mal.
Rien ne me rebute, c'est juste que je ne comprends pas et donc, lire une truc que tu ne comprends pas, ça sert pas à grand chose si tu n'as pas une explication à côté.
En gros, c'est comme la prof d'allemand de mon fils :
Mon fils : Madame, je n'ai pas compris la leçon
La prof : relis là
Mon fils, Madame, j'ai relu, mais je n'ai pas comrpis
La prof : relis là
Mon fils, Madame, j'ai encore relu, mais je n'ai toujours pas compris
La prof, relis là
Bref, mon fils à 1.5 de moyenne en allemand et il est pas plus con qu'un autre et les autres matières il a entre 10 et 15.
Donc, j'ai beau lire et relir le tuto, je ne trouve pas comment on fait pour extraire la chaine entre les ## de la chaine globale pour l'envoyer en paramettre de ma fonction.
Voilà, c'est tout
En fait, ca marcherait avec les regex si c'était toujours le même ordre. Mais manifestement ca n'est pas la bonne piste ici.
normalement tu devrais avoir plusieurs éléments à toi de chercher dedans.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 string machaine = "le lien vers ##contactIti## est à modifier ##Accueil## à remplacer"; Regex reg = new Regex("##[\w]+##"); Matches matches = reg.Matches(machaine); if(matches.Matches.Count>0)
C'est un exemple. le code n'est ce dont je me souviens donc la syntaxe est fausse.
Ca doit ressembler à ça en gros. tu tatonnes avec la syntaxe pour avoir ce que tu recherches.
Ca te parle plus?
Oui, merci beaucoup.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager