nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
29 mars 2009 à 16:06
zakariabamou
Messages postés28Date d'inscriptionmercredi 16 décembre 2009StatutMembreDernière intervention24 août 2012
-
8 août 2012 à 02:01
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
zakariabamou
Messages postés28Date d'inscriptionmercredi 16 décembre 2009StatutMembreDernière intervention24 août 2012 8 août 2012 à 02:01
bonjour a tout le monde, je cherche a développer un code en C# qui me permet d'utiliser les expressions régulières pour trouver des mots (par exemple ayant la forme PM-ASK-2134) dans un document Word, le code est facile pour des fichiers textes (.txt) mes pour un document Word c'est différent, SVP si qelqu'un a une idée je suis coinsé depuis 2 semaines. merci a l'avance.
voila mon code: (il permet de trouver la chaine "PM-ASK-2134" dans un document word mais je cherche a trouver toutes les ocurences de ce type en utilisant une expression régulière):
nvDoc.Application.Selection.Find.ClearFormatting();
Regex Tag = new Regex(@"SC-([\w\-.]+)-([\S\-.]+)");
nvDoc.Application.Selection.Find.Text = "PM-ASK-2134";
// Fermer le document
nvDoc.Close(ref missing, ref missing, ref missing);
// Fermeture de word
msWord.Quit(ref missing, ref missing, ref missing);
kiterie
Messages postés8Date d'inscriptionlundi 22 mai 2006StatutMembreDernière intervention 8 avril 2010 2 avril 2009 à 23:23
Je comprends pas: comment tu fais pour remplacer avec Replace sans utiliser une lecture par XMLDocument? comment tu sais quels caractères sont à remplacer ou non? car tu ne peux pas remplacer tous les caractères.... ceux qui sont dans des balises ne doivent pas être modifiés.
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 31 mars 2009 à 19:04
Les expressions régulieres n'ont rien a voir avec le XML.
Le document n'a pas besoin d'un document XML
kiterie
Messages postés8Date d'inscriptionlundi 22 mai 2006StatutMembreDernière intervention 8 avril 2010 31 mars 2009 à 07:45
Pour l'expression régulière ok ça peut gérer sans problème les quotes et doubles quotes si le fichier XML est ouvrable en tant que XmlDocument. Seulement elle ne peut pas gérer les balises ouvrantes ou fermantes supplémentaires, ou encore les & contenus entre deux balises.
Or ce genre de caractères empêche l'ouverture du fichier XML sous forme de XmlDocument.
PsyCaDi
Messages postés123Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention30 mars 2009 30 mars 2009 à 11:59
8 août 2012 à 02:01
voila mon code: (il permet de trouver la chaine "PM-ASK-2134" dans un document word mais je cherche a trouver toutes les ocurences de ce type en utilisant une expression régulière):
object missing = System.Reflection.Missing.Value;
object fileName = @textBox1.Text.ToString();
Microsoft.Office.Interop.Word.Application msWord = new Microsoft.Office.Interop.Word.Application();
msWord.Visible = false;
Microsoft.Office.Interop.Word.Document nvDoc;
nvDoc = msWord.Documents.Open(ref fileName, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing);
nvDoc.Application.Selection.Find.ClearFormatting();
Regex Tag = new Regex(@"SC-([\w\-.]+)-([\S\-.]+)");
nvDoc.Application.Selection.Find.Text = "PM-ASK-2134";
while (nvDoc.Application.Selection.Find.Execute(
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing))
{
MessageBox.Show(nvDoc.Application.Selection.Find.Text);
}
// else MessageBox.Show("Text not found.");
// Fermer le document
nvDoc.Close(ref missing, ref missing, ref missing);
// Fermeture de word
msWord.Quit(ref missing, ref missing, ref missing);
2 avril 2009 à 23:23
31 mars 2009 à 19:04
Le document n'a pas besoin d'un document XML
31 mars 2009 à 07:45
Or ce genre de caractères empêche l'ouverture du fichier XML sous forme de XmlDocument.
30 mars 2009 à 11:59
http://msdn.microsoft.com/fr-fr/library/system.web.httputility.htmlencode.aspx
29 mars 2009 à 16:06
Une expression reguliere de type Replace permet de repondre plus rapidement a ton probleme
Une gestion plus fine des exceptions est recommandée
soit par un bloc using
soit par un try catch finally (ce dernier fermant les flux et les fichiers)
Bon courage