1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WD Remplacer RegEx dans une Chaine

Discussion dans 'Résolution problème & conseils' créé par popoy, Nov 2, 2026, à 1:27 PM.

  1. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    3,164
    J'aime reçus:
    1,713
    Bonjour à tous,
    Je suis en windev 25
    J'ai besoin de remplacer dans une chaine de caractères de plusieurs paragraphes
    tous les "s" simple par un double s "ss" a chaque fois qu'il se trouve entre deux voyelles pour qu'il ne se prononce pas z
    j'ai bien sur pensé à
    Code (Text):
    VérifieExpressionRégulière(sRes, "([aeiou])s([aeiou])")
    et la fonction remplace mais je n'y arrive pas
    Je suis surement pas loin
    Merci de votre aide
     
    Tags:
  2. WDnet

    WDnet Active Member

    Inscrit:
    Mar 9, 2022
    Messages:
    134
    J'aime reçus:
    122
    Salut Popoy, qqchose dans le genre

    [windev]
    TabCaract est un tableau de chaînes = ["a", "e", "i", "o", "u", "y"]
    TabRemplacement est un tableau de chaînes
    Nposition est un entier = 1


    POUR TOUT UnCaractere DE TabCaract
    POUR TOUTE UnCaractere2 DE TabCaract
    TableauAjoute(TabRemplacement, UnCaractere + "s" + UnCaractere2)
    FIN
    FIN

    Nposition = Position(SAI_Texte1, TabRemplacement, Nposition)

    TANTQUE Nposition > 0
    SAI_Texte1 = Remplace(SAI_Texte1, Nposition + 1, 1, "ss")
    Nposition += 1
    Nposition = Position(SAI_Texte1, TabRemplacement, Nposition)
    FIN
    [/windev]
     
  3. trick

    trick Active Member
    MEMBRE WX DUMP TEAM

    Inscrit:
    Jan 1, 2018
    Messages:
    195
    J'aime reçus:
    102
    Salut popoy,

    Cela doit fonctionner à partir de la V27 il me semble

    sRegex est une chaîne = "([aeiouyàâäéèêëîïôöùûüÿAEIOUYÀÂÄÉÈÊËÎÏÔÖÙÛÜŸ])s([aeiouyàâäéèêëîïôöùûüÿAEIOUYÀÂÄÉÈÊËÎÏÔÖÙÛÜŸ])"

    stexte est une chaîne = "La maison est rose."+RC+"J'aime le rose et la maison"

    stexte = RegexReplace(stexte, sRegex, "$1ss$2")

    Info(stexte) // Resultat: La maisson est rosse."+RC+RC+"J'aime le rosse et la maisson
     

Partager cette page

Chargement...