REGEXP - Supprimer Dates et Pourcentage dans chaine de caractères [Résolu]

jordane45 22930 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 22 octobre 2018 Dernière intervention - 29 janv. 2013 à 11:27 - Dernière réponse : cs_stay 496 Messages postés jeudi 7 juillet 2005Date d'inscription 24 mai 2017 Dernière intervention
- 29 janv. 2013 à 15:46
Bonjour,

Pourriez-vous m'indiquer quel serait la méthode à utiliser pour extraire, d'une chaine de caractères , tout sauf les DATES et les chaines du type 'xx%' ou 'xx Prct'
* xx etant un nombre.

Exemple :
Ceci est un TEST de 30% le 27/12/2012
( donnerait : Ceci est un TEST de le )

Je suppose qu'il faudrait utiliser la fonction : preg_replace
mais je ne parviens pas à déterminer quel Pattern utiliser...

Par avance merci.

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
jordane45 22930 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 22 octobre 2018 Dernière intervention - 29 janv. 2013 à 15:28
3
Merci
Bon ben grace aux conseils de Steph,
j'ai fini par trouvé ce que je cherchais

$patDate='/\d{2}\/\d{2}\/\d{4}/';
$patHeur= '/\d{1,2}:\d{2}:\d{2}/';
$string = "Ceci est un TEST instance weblo01 de 30% le 27/12/2012 18:00:53";
$string = preg_replace($patDate, '', $string);
$string = preg_replace($patHeur, '', $string);
$string = preg_replace('/\d{1,2}%/', '', $string); 



Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI

Merci jordane45 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de jordane45
cs_stay 496 Messages postés jeudi 7 juillet 2005Date d'inscription 24 mai 2017 Dernière intervention - 29 janv. 2013 à 14:46
0
Merci
Salut, je ferais ceci (la doc) :

<?php
$string = "Ceci est un TEST de 30% le 27/12/2012";
$string = preg_replace('/[0-9]+/', '', $string);
$string = preg_replace('/\%/', '', $string); 
$string = preg_replace('/\//', '', $string); 

echo $string;


stéph
Commenter la réponse de cs_stay
jordane45 22930 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 22 octobre 2018 Dernière intervention - 29 janv. 2013 à 15:00
0
Merci
Super .
Je cherchai à le faire en une seule ligne.. mais finalement vu comme ça c'est beaucoup plus simple.

Merci beaucoup.


Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
Commenter la réponse de jordane45
jordane45 22930 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 22 octobre 2018 Dernière intervention - 29 janv. 2013 à 15:05
0
Merci
Enfin..
Presque.
En relisant, puis en testant je viens de constaté que vous retiré tous les caractères "numériques".
Hors, je dois seulement enlever les chaines de caractères de la forme :
- dd/MM/YYYY
- xx%

Si j'ai une chaine de ce genre :
Ceci est le test numero 1 : saturation de 99% à la date du 17/01/2013.

Je dois recupérer :
Ceci est le test numero 1 : saturation de à la date du



Donc, la question est toujours d'actualité.



Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
Commenter la réponse de jordane45
cs_stay 496 Messages postés jeudi 7 juillet 2005Date d'inscription 24 mai 2017 Dernière intervention - 29 janv. 2013 à 15:44
0
Merci
Salut,

Mais tu n'as pas fait de nouvelle rechercher :)

Voici :

<?php
$string = "Ceci est le test numero 1 : saturation de 99% à la date du 17/01/2013";
$string = preg_replace('/\d{2}%+/', '', $string);
$string = preg_replace('/\d{1}%+/', '', $string);
$string = preg_replace('/\d{2}\/\d{2}\/\d{4}/', '', $string);

echo $string;


stéph
Commenter la réponse de cs_stay
cs_stay 496 Messages postés jeudi 7 juillet 2005Date d'inscription 24 mai 2017 Dernière intervention - 29 janv. 2013 à 15:46
0
Merci
Super, j'avais pas vu ton post

stéph
Commenter la réponse de cs_stay

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.