Expressions regulieres

vero77lisa Messages postés 12 Date d'inscription lundi 2 janvier 2006 Statut Membre Dernière intervention 23 janvier 2006 - 12 janv. 2006 à 10:47
vero77lisa Messages postés 12 Date d'inscription lundi 2 janvier 2006 Statut Membre Dernière intervention 23 janvier 2006 - 12 janv. 2006 à 16:28
Bonjour,

Je n'arrive pas a ecrire l'expression reguliere qui me permettrait de supprimer une sous-chaine d'une chaine.

MaChaine = "20051229181521658_17806_00719_00001_00001.ext1.ext2";

Je souhaite supprimer tout ce qui peut se trouver apres le premier point.

Si quelqu'un pouvait me donner un bout de code pour résoudre cela, ou un tuto.

Merci

4 réponses

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
12 janv. 2006 à 11:10
/*

Je suppose que les 2 chaines ont été allouées correctement et que MaChaine contient la chaine à réduire

*/

for (int i=0; i<strlen(MaChaine) && MaChaine[i]!='.'; i++)

SousChaine[i]=MaChaine[i];


Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
12 janv. 2006 à 11:53
c = MaChaine;
while(*c != '.') c++;
*c = 0;
MessageBox(0, MaChaine, 0, 0);

Le fera tout aussi bien et plus performent.

@+
Arnotic,
Admin CS,
http://dev.winsysdev.com
MVP Visual C++
0
olbal Messages postés 20 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 29 septembre 2006
12 janv. 2006 à 12:39
c = MaChaine;

while(*c != '.') c++;

*c = 0;



Ok si on est sur que la chaine contienne toujours un point sinon ça peut faire mal!

while(*c != '.' && *c) c++; me parait préférable



Bonne année à tous
0
vero77lisa Messages postés 12 Date d'inscription lundi 2 janvier 2006 Statut Membre Dernière intervention 23 janvier 2006
12 janv. 2006 à 16:28
Hum ok, je pensais qu'il faillait que je m'embete avec la syntaxe pas tres cool des expressions regulieres pour trouver la solution ..... ;-)


Merci pour votre aide.
0
Rejoignez-nous