Avatar billede 3ddd Nybegynder
28. december 2005 - 15:49 Der er 12 kommentarer og
1 løsning

Find punkt i string/txt fil, læs og skriv til andet punkt

Hej, hvordan laver jeg et program, der kan finde et specielt sted i en text fil/string, fx ->"start her", og derefter kan læse og og skrive indtil et stop, fx ->"Stop her".
Avatar billede dr_chaos Nybegynder
28. december 2005 - 15:58 #1
du kan gøre noget i denne stil:

string test = "safasfasfasfstart herafasfagrweerherhrehrhestop herasfasfasf";
            int start = test.IndexOf("start her");
            int stop = test.IndexOf("stop her", start);
            System.Diagnostics.Debug.WriteLine("start:"+ start+"  stop: "+ stop);
Avatar billede dr_chaos Nybegynder
28. december 2005 - 16:02 #2
hvis det er med at åbne en fil kan du bruge:

string test = System.IO.File.OpenText(@"c:\test.txt").ReadToEnd();
            int start = test.IndexOf("start her");
            int stop = test.IndexOf("stop her", start);
            System.Diagnostics.Debug.WriteLine("start:"+ start+"  stop: "+ stop);

test.txt:
asf
a
sf
asf
as
f
asf
as
f
ag

degd
sd
hs
dh
sdh
s
dh
s
hd
sdh
sd
safasfasfasfstart herafasfagrweerherhrehrhestop herasfasfasf
Avatar billede 3ddd Nybegynder
28. december 2005 - 16:13 #3
int start = test.IndexOf("start her");

Hvor kommer test. fra?
Hvad gør IndexOf? retunere det første punkt den finder "start her"?

System.Diagnostics.Debug.WriteLine("start:"+ start+"  stop: "+ stop);

Hvorfor du det? kan man ikke bare bruge console.writeline.
Hvordan får jeg det der står mellem mine punkter, over i en string?
Avatar billede dr_chaos Nybegynder
28. december 2005 - 16:52 #4
test er en string.
string test = "safasfasfasfstart herafasfagrweerherhrehrhestop herasfasfasf";

System.Diagnostics.Debug.WriteLine("start:"+ start+"  stop: "+ stop);
kan sagtens erstattes med console.

Hvad gør IndexOf? retunere det første punkt den finder "start her"?
ja det gør den

vender tilbage senere.
Avatar billede 3ddd Nybegynder
28. december 2005 - 17:22 #5
Okaay var vist lidt for hurtig der heh...

Okay...
Avatar billede 3ddd Nybegynder
28. december 2005 - 20:37 #6
OKay har rodet lidt rundt med det, og er nu noget mere med =)..

Har dog stadig et problem:

int start = test.IndexOf("start her");

Hvordan får jeg den til at retunere værdien efter det den skal finde, så den her ville retunere 9, hvis texten var = "start her blablablablabla". Hvor man ikke hver gang ved hvor langt det man søger en start på er.

Lige ved siden af spørgsmålet!, er det bare mig der har problemer med login systemet? jeg bliver i hele tiden smidt af, og skal logge ind igen, så jeg skal skrive hele lortet igen igen og igen! :S
Avatar billede dr_chaos Nybegynder
29. december 2005 - 09:15 #7
du kan gøre det på denne måde:

//indlæs tekst fra fil
            string test = System.IO.File.OpenText(@"c:\test.txt").ReadToEnd();
            //find første forkomst af "start her" og læg af "start her" længden til .
            //Det gøres for at sikre at vi først starter med at læs bogstaver efter "starther"
            int startindex = test.IndexOf("start her") + "start her".Length;
            //find første forkomst af "stop her"
            int slutindex = test.IndexOf("stop her");
            //hent en substring ud som starter efter "start her" og slutter ved "stop her"
            string output = test.Substring(startindex, slutindex - startindex);

har ikke selv oplevet problemer med login systemet.
Avatar billede 3ddd Nybegynder
29. december 2005 - 14:01 #8
OKayy kunne være der var en lidt "pænere måde" =)...

Men tak for din hjælp, så kom jeg da også videre i dette år :P, du kan jo lige smide et svar =)
Avatar billede dr_chaos Nybegynder
29. december 2005 - 14:04 #9
svar :)
Avatar billede 3ddd Nybegynder
29. december 2005 - 14:31 #10
Lige til sidst, hvis du skulle kende en side, der har taget de fleste string metoder op, og forklaret
Avatar billede 3ddd Nybegynder
29. december 2005 - 14:34 #11
// ups lidt for hurtig der :P.

hvad de indebære, og kan, i en ikke større sammenhæng, men bare som forklaring. ville det være lækkert at kunne falde tilbage på.
De sider jeg har kunne finde, er meget "uenige" om hvordan det skal gøres, ellers er det skjult i meget forvirende og store sammenhænge..
Avatar billede 3ddd Nybegynder
29. december 2005 - 15:13 #13
Hehe jeg er ikke så sikker, synes det er rimelig svært at finde hvad med søger, men det  er jo nok det bedste sted alligevel. Takker :)
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