Avatar billede mmbn Nybegynder
22. oktober 2005 - 21:37 Der er 15 kommentarer og
1 løsning

Regulat expressions

jeg vil gerne finde følgende sekvens i en streng \par} og eller \par
}
hvordan gøres dette med regular expression? har prøvet med @"\par\}" men dette virker ikke?
Avatar billede arne_v Ekspert
22. oktober 2005 - 21:39 #1
prøv

@"\\par\}"
Avatar billede mmbn Nybegynder
22. oktober 2005 - 21:44 #2
det virker:) Men mit problem er at det er en rtf streng og jeg skal finde stedet hvor den egentlige tekst eller billede stopper og her skal jeg indsætte noget tekst eller et billede som rtf. altså indsætte rtf i rtf på den rigtige placering
Avatar billede mmbn Nybegynder
22. oktober 2005 - 21:44 #3
så den finder ikke en match
Avatar billede mmbn Nybegynder
22. oktober 2005 - 21:46 #4
eksempel:
{\rtf1\ansi\deflang1030\ftnbj\uc1{\fonttbl{\f0 \froman \fcharset0 Times New Roman;}{\f1 \fswiss \fcharset0 Arial;}{\f2 \froman \fcharset0Castellar;}{\f3 \fnil \fcharset0 Castellar;}}{\colortbl ;\red255\green255\blue255 ;\red0\green0\blue0 ;}{\stylesheet{\fs24\cf2\cb1 Normal;}{\cs1\cf2\cb1 Default Paragraph Font;}}\paperw11908\paperh16833\margl1800\margr1800\margt1440\margb1440\headery720\footery720\deftab720\formshade\aendnotes\aftnnrlc\pgbrdrhead\pgbrdrfoot\sectd\pgwsxn11908\pghsxn16833\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\headery720\footery720\sbkpage\pgncont\pgndec\plain\plain\f1\fs24\lang1030\f3\fs48 Tekst i RTF\par\plain\f1\fs24\par}
skal finde hvor den egentlige tekst (i dette tilfælde "Tekst i RTF") stopper og indsætte derefter
Avatar billede arne_v Ekspert
22. oktober 2005 - 21:47 #5
når du har fundet stedet kan du vel også indsætte ?
Avatar billede mmbn Nybegynder
22. oktober 2005 - 21:48 #6
ved
string comp = @"\\par\}";
                    Regex r = new Regex(comp);
                    Match m = r.Match(strAdvisRtf);
                    if(m.Success)
                        MessageBox.Show("Fundet ved " + m.Index);
                    else
                        MessageBox.Show("Ikke fundet");
hvor strengen er den jeg viste i sidste besked får jeg "ikke fundet" ud
Avatar billede arne_v Ekspert
22. oktober 2005 - 22:05 #7
mystisk
Avatar billede arne_v Ekspert
22. oktober 2005 - 22:05 #8
using System;
using System.Text.RegularExpressions;

namespace E
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            string rtf = @"{\rtf1\ansi\deflang1030\ftnbj\uc1{\fonttbl{\f0 \froman \fcharset0 Times New Roman;}{\f1 \fswiss \fcharset0 Arial;}{\f2 \froman \fcharset0Castellar;}{\f3 \fnil \fcharset0 Castellar;}}{\colortbl ;\red255\green255\blue255 ;\red0\green0\blue0 ;}{\stylesheet{\fs24\cf2\cb1 Normal;}{\cs1\cf2\cb1 Default Paragraph Font;}}\paperw11908\paperh16833\margl1800\margr1800\margt1440\margb1440\headery720\footery720\deftab720\formshade\aendnotes\aftnnrlc\pgbrdrhead\pgbrdrfoot\sectd\pgwsxn11908\pghsxn16833\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\headery720\footery720\sbkpage\pgncont\pgndec\plain\plain\f1\fs24\lang1030\f3\fs48 Tekst i RTF\par\plain\f1\fs24\par}";
            Regex r = new Regex(@"\\par\}");
            Match m = r.Match(rtf);
            if(m.Success)
            {
                Console.WriteLine("Found at " + m.Index);
            }
            else
            {
                Console.WriteLine("Not found");
            }
        }
    }
}
Avatar billede arne_v Ekspert
22. oktober 2005 - 22:05 #9
Found at 656
Press any key to continue . . .
Avatar billede arne_v Ekspert
22. oktober 2005 - 22:05 #10
uden at have talt efter så lydre det rigtigt

har du linieskift i RTF'en ?
Avatar billede mmbn Nybegynder
22. oktober 2005 - 22:07 #11
det kan der være
Avatar billede mmbn Nybegynder
22. oktober 2005 - 22:11 #12
fandt ud af hvor jeg havde fumlet. Den streng jeg søgte igennem havde jeg glemt at sætte i en anden klass så jeg fik det forkerte resultat ind til sammenligningen. Men din ide virker så smid et svar og tak for hjælpen
Avatar billede arne_v Ekspert
22. oktober 2005 - 22:12 #13
ok
Avatar billede mmbn Nybegynder
22. oktober 2005 - 22:15 #14
er hurtigt sidespørgsmål hvis man vil slette en mappe og dens filer og man bruger Directory.Delete(path, true) metoden, er der så nogen måde at man kan sikre sig at ingen af filerne i den mappe er ibrug af en anden proces så man ikke får "filen er brug af en anden proces og kan ikke slettes" fejlen?
Avatar billede arne_v Ekspert
22. oktober 2005 - 22:17 #15
Der er muligt at checke åbne filer (se f.eks. sysinternals tools), men jeg tror
at det er for besværligt til at det er umagen værd
Avatar billede mmbn Nybegynder
22. oktober 2005 - 22:19 #16
ok tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester