aide sur regex

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par chava2b, 26 Février 2013.

  1. chava2b
    chava2b WRInaute occasionnel
    Inscrit:
    5 Décembre 2003
    Messages:
    289
    J'aime reçus:
    1
    Salut,

    Je cherche à enlever des espaces entre des lettres avec des regex et je ne sais pas si c'est faisable. Il faut enlever les espaces si une lettre seule est entourée d'espace.

    $chaine = "c'est un t e s t";
    > resultat voulu : "c'est un test"

    Merci pour votre aide
     
  2. StefouFR
    StefouFR Guest
    Bonjour,

    c'est impossible.
     
  3. chava2b
    chava2b WRInaute occasionnel
    Inscrit:
    5 Décembre 2003
    Messages:
    289
    J'aime reçus:
    1
    Ok merci

    A++
     
  4. Acerouk
    Acerouk WRInaute occasionnel
    Inscrit:
    16 Février 2008
    Messages:
    448
    J'aime reçus:
    0
    Pas possible 8O
    C'est une blague ?
     
  5. speedwell
    speedwell Nouveau WRInaute
    Inscrit:
    5 Janvier 2013
    Messages:
    38
    J'aime reçus:
    0
    Hello :)

    J'ai effectué un test avec ta chaine, et j'ai recollé les lettres de t e s t
    Je travaille souvent sur les Regex avec du Shell ou du Perl.
    Sous Linux, dans la konsole, tu peux saisir cette ligne de commande Shell: sed 's/t e s t/test/g' <fic.txt>

    J'espère que ça marchera
    Speedwell
     
  6. Dan_A
    Dan_A WRInaute discret
    Inscrit:
    21 Décembre 2005
    Messages:
    193
    J'aime reçus:
    0
    C'est possible avec une regexp pour la chaîne en exemple, mais avec "c'est un t e s t que je fais", le résultat n'aura aucun sens car le dernier t de test est encadré par des espaces.
     
  7. speedwell
    speedwell Nouveau WRInaute
    Inscrit:
    5 Janvier 2013
    Messages:
    38
    J'aime reçus:
    0
    Hello Dan_A
    Je viens de faire un mini essai avec Perl, et ça m'affiche bien "test" correctement.
    La commande qui permet de faire ça, c'est: $ch =~ s/t e s t /test /g;
    Et le résultat en sortie me donnait cette chaîne: "c'est un test que je fais"
    Le code Perl ressemble à ça:

    Code:
    my $ch = "c'est un t e s t que je fais";
    
    $ch =~ s/t e s t /test /g;
    
    print "$ch\n";
     
  8. StefouFR
    StefouFR Guest
    Non, mais c'est un exemple qu'il a donné.

    C'est impossible à faire pour de vrai phrase.
     
  9. speedwell
    speedwell Nouveau WRInaute
    Inscrit:
    5 Janvier 2013
    Messages:
    38
    J'aime reçus:
    0
    Ah oui bien sûr, dans le cas de phrases entières dont tous les mots sont séparés par des espaces, ce n'est pas vraiment possible de le faire ..., en effet non.
    En IL, on peut toujours travailler les chaînes avec des \s et \w, mais seulement quand ça vaut le coup (par exemple, pour un grand volume de textes comme les corpus).

    Autrement, autant réécrire la phrase manuellement, ça va plus vite.
     
  10. chava2b
    chava2b WRInaute occasionnel
    Inscrit:
    5 Décembre 2003
    Messages:
    289
    J'aime reçus:
    1
    Effectivement c'est un texte que je recupere d'une conversion avec pdftohtml et certains mots ont des espaces.

    En faisant une p'tite boucle je vais y arriver.

    Merci
     
Chargement...
Similar Threads - aide regex Forum Date
Regex : un peu d'aide Développement d'un site Web ou d'une appli mobile 19 Novembre 2020
Aide sur regex Développement d'un site Web ou d'une appli mobile 20 Mars 2013
Aide sur Filtres et regex Google Analytics 10 Mars 2013
Besoin d'aide regle regex sur fichier HTACCESS Administration d'un site Web 3 Mars 2013
[AIDE] Statistiques page Facebook non accessibles Facebook 23 Décembre 2020
Récapitulatif Besoin d'avis et d'aide pour mon site web. Débuter en référencement 1 Novembre 2020
WordPress Besoin d’aide sur plugin Formidable Pro, Développement d'un site Web ou d'une appli mobile 8 Septembre 2020
Demande d'aide Demandes d'avis et de conseils sur vos sites 3 Août 2020
Nouveau dans le SEO, aide de site Débuter en référencement 31 Juillet 2020
aide robot.txt svp Débuter en référencement 26 Mars 2020