Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1876 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Expression régulière

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Expression régulière

n°1751620
albator v
Posté le 26-06-2008 à 10:52:44  profilanswer
 

Bonjour, j'ai besoin d'aide pour une petite expression régulière...
 
j'ai un nom de fichier comme ce ceci forum.hardware.fr.6.5.8.9.txt
je voudrais remplacer tous les . par des espaces uniquement quand ils sont précédés et suivis de lettre.
 
forum.hardware.fr.6.5.8.9.txt  --> forum hardware fr 6.5.8.9.txt
 
merci de votre aide
 

mood
Publicité
Posté le 26-06-2008 à 10:52:44  profilanswer
 

n°1751797
chocobon
Vi veri... Veniversum... Vivus
Posté le 26-06-2008 à 14:12:01  profilanswer
 

albator v a écrit :


 
ils sont précédés et suivis de lettre.
 
forum.hardware.fr.6.5.8.9.txt  --> forum hardware fr 6.5.8.9.txt
 
merci de votre aide
 


 
il faut savoir précisément dans quel cas tu réalises ta substitution car comme ci dessus c est plutot "ils sont précédés OU suivis de lettre".  :non:  
Néanmoins je pense qu une analyse de chaine et l'utilisation d'offset pour se placer sur les caractères précedents et suivants le "." devraient suffire (le code ascii pour identifier le type de caractère).

n°1752172
albator v
Posté le 27-06-2008 à 11:14:44  profilanswer
 

non non, j'ai bien dit suivi ET précédé. donc si ya un point entre 2 chiffres, on garde, sinon on remplace.
 
Et pour etre plus precis, quand je parle d'expression reguliere je parle de ca : http://www-obs.univ-lyon1.fr/labo/ [...] egexp.html
 
 :jap:

n°1758401
kiki29
Posté le 11-07-2008 à 14:17:21  profilanswer
 

Salut, avec retard , voir si cela te convient , sans expression régulière, sous forme de fonction personnalisée ( à placer dans un module ), à améliorer


Option Explicit
 
Function SupprimerPoint(ByRef s As String) As String
Dim i As Long
Dim Pred As String, Succ As String, Chaine As String
Dim Pos As Long, L As Long
     
    L = Len(s)
    For i = 1 To L
        Pos = InStr(i, s, "." )
        If Pos > 0 Then
            Pred = Mid(s, Pos - 1, 1)
            Succ = Mid(s, Pos + 1, 1)
            If Not IsNumeric(Pred) And Not IsNumeric(Succ) Then
                Mid(s, Pos, 1) = " "
            End If
            i = Pos + 1
        End If
    Next i
    SupprimerPoint = s
End Function


Message édité par kiki29 le 11-07-2008 à 14:27:05

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Expression régulière

 

Sujets relatifs
[RESOLU] split d'un String/expression reguliere[RESOLU] expression régulière
[Résolu] Besoin d'aide pour syntaxe expression régulièreDoute sur une expression régulière
Expression reguliere - je ne comprends pasProbleme expression reguliere
Expression régulière pour moteur de recherche...help sur une expression régulière
[JS] Aide pour une petite expression régulièreExpression régulière : j'y suis presque mais...
Plus de sujets relatifs à : Expression régulière


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR