FONCTION SUPPRIMANT LES TAGS SGML AVEC LES EXPRESSIONS RÉGULIÈRES

Messages postés
31
Date d'inscription
jeudi 12 juin 2003
Statut
Membre
Dernière intervention
13 avril 2008
- - Dernière réponse : cs_garfield90
Messages postés
389
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009
- 11 oct. 2004 à 12:58
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26679-fonction-supprimant-les-tags-sgml-avec-les-expressions-regulieres

Afficher la suite 
cs_arcollet
Messages postés
31
Date d'inscription
jeudi 12 juin 2003
Statut
Membre
Dernière intervention
13 avril 2008
-
La version .Net :

'Nettoyage d'une chaine de caractères
Function CleanInput(ByVal strTxt As String) As String
Dim pattern As String = "^</*([^<>\s]*)(\s[^<>]*)?>|<([^<>\s]*)(\s[^<>]*)?/*>"
Return Regex.Replace(strTxt, pattern, String.Empty)
End Function

En revanche les () posent problème, quelqu'un aurait il une solution pour inclure les() comme caractères à épurer avec Regex.Replace ?

Actuellement j'utilise cette fonction pour pallier au problème mais j'aimerais bien utiliser la class d'expressions régulières prévu à cet effet par .net plutôt qu'une fonction maison et une boucle en plus !!

Function nochar(ByVal strTxt As String) As String

Dim ListDelChar As String = " ²&~#'{([-|`\^@)]°+=}<>,?;/:!§%*µ$£€"
Dim DelChar As String
Dim i As Integer

For i = 1 To Len(ListDelChar)
DelChar = ListDelChar.Chars(i - 1)
strTxt = Replace(strTxt, DelChar, String.Empty)
Next

nochar = strTxt
Return nochar

End Function

Merci de votre aide

denis
cs_arcollet
Messages postés
31
Date d'inscription
jeudi 12 juin 2003
Statut
Membre
Dernière intervention
13 avril 2008
-
Rebonjour,

Votre fonction ne rempli pas tout à fait le même rôle mais je profite de votre source pour poser la question sur le sujet.

N'étant pas un expert dans les expressions régulières, je fais appel à votre expérience.

Merci

denis
cs_garfield90
Messages postés
389
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009
-
Salut Denis,

je ne suis pas expert en expression régulière, c'est en cherchant quelque cours et sur le net que j'ai pu créer cette fonction qui m'est très utile.

essaye le '\(' pour placer ton '(' et '\)' pour ')' sans les quotes , l'\' permet d'echapper un caractere donc si j'ai bien compris pour utiliser un metacaractere du doit l'echapper.

Prevenez moi si je me trompe.

Bon courage et j'espere t'avoir donner une bonne piste

nicolas