begin process at 2010 02 09 19:40:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Algorithme

 > 

Compression, Split et Cryptage

 > 

[Regex] Récupérer une chaine de caractère


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[Regex] Récupérer une chaine de caractère

mercredi 4 mars 2009 à 10:54:32 | [Regex] Récupérer une chaine de caractère

4rocky4

Bonjour tout le monde,

Je viens de découvrir les expressions régulières et j'aurais besoin d'aide

J'ai un fichier (fichier.sql) qui contient un très grand nombre de CREATE TABLE.

Afin de créer l'auto incrément pour les tables qui en ont besoin, je dois créer à la fin de ce fichier les séquences et triggers des tables correspondantes. (seulement les tables qui contiennent IDENTITY dans leur création)

Pour cela, je dois récupérer le nom de la table ainsi que le champ unique.

CREATE TABLE T1_E (
  ID_E INTEGER  NOT NULL   IDENTITY ,
  NOM_E VARCHAR(32)  NOT NULL  ,
  T1_E_LIB INTEGER      ,
PRIMARY KEY(ID_E));

Je bloque pour la récupération de ces deux champs ...

Je vous remercie par avance.
mercredi 4 mars 2009 à 12:55:06 | Re : [Regex] Récupérer une chaine de caractère

titom59

Salut,

L'extraction de données d'une chaine de caractères est possible via l'utilisation de groupe :

la syntax d'un groupe est :  (?<NOMDUGROUPE>CaracteresDuGroupeAExtraire)

par exemple :

 Regex regProcedureType = new Regex(@"^(?<PROCEDURE>[a-zA-Z-]+)_");
 Match matchProcedureType = regProcedureType.Match(fileName);

string s = matchProcedureType.Groups["PROCEDURE"].Value;

PROCEDURE ici est un sous ensemble a extraire : du début de la chaine (fileName) jusqu'au premier underscore


en lisant ton fichier ligne à ligne tu peux donc contrôler la présence de CREATE TABLE
puis en extraire la chaine qui suit avant (

de même pour IDENTITY

en espérant que ça puisse t'aider.

Titom59 !
mercredi 4 mars 2009 à 14:50:12 | Re : [Regex] Récupérer une chaine de caractère

4rocky4

Merci bien pour cette réponse.

J'arrive a créer les triggers et les séquences automatiquement, c'est parfait !

Par contre actuellement je créer la séquence et le trigger uniquement pour le premier CREATE TABLE de mon fichier.

Comment je pourrais procéder pour créer les triggers et sequences pour tous les CREATE TABLE contenant IDENTITY dans la création ?
mercredi 4 mars 2009 à 15:17:38 | Re : [Regex] Récupérer une chaine de caractère

titom59

Réponse acceptée !
à mon avis tu dois procéder en plusieurs étapes.

lire ton fichier ligne à ligne en isolant tous les bloc Create Table  :

CREATE TABLE T1_E (
  ID_E INTEGER  NOT NULL   IDENTITY ,
  NOM_E VARCHAR(32)  NOT NULL  ,
  T1_E_LIB INTEGER      ,
PRIMARY KEY(ID_E));

puis traiter chacun avec ta fonction

Titom59 !
mercredi 4 mars 2009 à 15:55:32 | Re : [Regex] Récupérer une chaine de caractère

4rocky4

Pour isoler le bolc create table, je pourrais faire ça avec un regex en utilisant la méthode des groupes comme présenté ci-dessus non ?
mercredi 11 mars 2009 à 11:39:38 | Re : [Regex] Récupérer une chaine de caractère

4rocky4

J'ai utilisé les expressions régulières pour récupérer ce que je voulais. Merci


Cette discussion est classée dans : fichier, récupérer, table, regex, tables


Répondre à ce message

Sujets en rapport avec ce message

Récupérer nom colonnes d'une table [ par plop3000 ] Bonjour,Je possède une base Sybase. J'ai une petite application qui contient un combobox dans lequel j'ai mis la liste de mes tables (le nom de mes ta Désérialisation xml dataset [ par hachiko49 ] Bonjour à tous,J'ai un dataset qui contient des datatables, images des tables de ma base de données.Certaines tables possèdent des champs dont la vale trier un fichier texte [ par crunch02 ] Bonjour,Dans le cadre de mon travail, j'ai réalisé un petit programme qui me récupère les données d'une base access et les écrit dans un fichier texte Probleme affichage table [ par fredspv ] Bonjour,J'utilise VISUAL STUDIO 2005, et lors de la mise en place d'un datagrid par exemple, je n'arrive pas sous visual de voir et ainsi de pouvoir s Récupérer la valeur d'un enregistrement [ par geii82 ] Bonjour j'aimerai récupérer la valeur d'un enregistrement dans une table que je crée et que je rempli sans utiliser de datagrid.Voici ma fonction :    Nouvelle table dans Access [ par winny68 ] Boujours à tous,voici mon problème, j'ai créé une application qui lit et écrit dans les tables d'un fichier Access. Pour ce faire, j'ai  implémenté un Récupérer le résumé d'un fichier [ par EmacLi ] Bonjour à tous !Ma question est simple :Comment récupérer les informations de l'onglet "Résumé" des propriétés d'un fichier ?Plus particulièrement le Format de données [ par olivierbalagizi ] Bonjour chers programmeurs! Je cherche à récupérer les données d'un fichier texte qui ont été générées par un programme tournant sous MS DOS (écrit en Récupérer les noms des tables [ par mimosa803 ] Bonjour, je souhaite savoir comment je peux récupérer les noms des tables de ma base de données et leurs champs avec du code bien sûr s'il existe, par Regex et Parse [ par cordiste ] Bonsoir à tous,Je débute en c#, et je viens vers vous à la recherche d'une peu d'aide.J'ai la chaine suivante :0.1234567891000.9


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales