Skal den bare kunne meddele om et eller flere ord findes? Skal den kunne fortælle hvormange gange de forskellige ord findes? Skal den kunne vise hvor de findes? osv.
Som du kan se er der lidt flere overvejelser som skal gøres for at du kan få en løsning der matcher dine behov... :)
Det må så næsten betyde at du har dokumentet indlæst i hukommelsen...? I så fald kan du benytte funktionen IndexOf, som finde den første forkomst af en tekst efter et givent punkt (så kan du lave inkrementalsøgning baseret på den forrige position i teksten).
Noget á la (i C#):
int thisPos = tekst.IndexOf(tekstenDerSkalFindes,curPos+1); curPos = thisPos;
hvor curPos holder positionen på den forrige søgning (og -1 som udgangspunkt).
Da det nu er en webapp, skal det jo også ud til brugeren, men der har du nok ikke tænkt dig at sende alle 10Mb ud til brugeren, så det må være noget med at sende en parameter frem og tilbage mellem klienten der fortæller den aktuelle position i teksten, som så kan bruges som illustreret ovenfor.
Ja, men hvordan skal brugeren præsenteres for resultatet? Jeg kan forestille mig nogle løsningsmuligheder, men jeg savner en beskrivelse fra dig på hvad du ønsker der skal ske, dvs. hvad brugeren skal opleve... :)
OK, så hele dokumentet skal ud til brugerens browser? Hvis det er tilfældet, så er det mere en clientscript opgave end en .NET opgave, men ikke desto mindre muligt på nogenlunde samme måde...
Ja, men du har været lidt utydelig i dine specifikation af hvad det er du søger og det gør det afsindig svært at hjælpe dig med det du vil have :)
Jeg håber du kan se det fra mit/vores synspunkt - vi var ikke inde i dit hoved da du udtænkte din givetvis briliante idé, så derfor er du nød til at være meget specifik i din beskrivelse af hvad det er du vil - for der er mange forskellige løsningsmuligheder alt efter behov.
Så langt var jeg med, men hvad er det brugeren skal have tilbage fra denne søgning?
1a. Er det hele filen (dvs. 10Mb data over en potentiel 56K linie)?
1b. Er det om ordet findes og i givet fald hvor i teksten?
1c. Er det et udsnit af teksten omkring det ord der blev søgt efter (f.eks. 200 tegn før og efter).
2. Skal der kunne søges på enkelte ord, flere ord på een gang eller hele sætninger der skal søges efter?
Der er nogle udfordringer du skal tage hensyn til når du vil lave sådanne funktionaliteter i en browser og de datamængder du snakker om. Hvis det skal være brugbart er du nød til at gøre nogle valg. Derfor vil jeg gerne bede dig tage stilling til ovenstående spørgsmål og skrive dine svar her.
1a. hele filen. 1b. skulle gerne gå til teksten 1c. ??? 200 før og efter kan bruges. 2. gerne sætninger, da der som sagt er mange ens ord Håber det hjælper lidt.
Det er forhåbentlig noget der kører på et lokalt netværk, for ellers bliver det da træls...
Anyways! Det bekymrer mig en smule at du ikke kunne bruge det C#-kode jeg viste dig tidligere, for så kan du vel heller ikke brugen en kodestump i C# der kan det der...? Nu er det vel ASP.NET du bruger... eller hvad?
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.