Avatar billede kriss3d Nybegynder
31. januar 2008 - 13:38 Der er 6 kommentarer og
1 løsning

Ord filtrering i en streng

Jeg er igang med et lille projekt til noget optimering.
Til dette har jeg brug for at kunne fjerne alt imellem 2 keywords.
f.eks til i en streng "Når regnen regner ude på taget har regnen slet ikke oppedaget" at jeg vil fjerne alt imellem "regner" til "ikke" så min streng så kommer til at hedde "Når regnen oppedaget"
Noget i den stil. Det kan lade sig gøre i linux med diverse shell kommandoer men der må da være noget i C# der kan gøre det samme.
Håber nogen kan hjælpe.
Avatar billede Syska Mester
31. januar 2008 - 14:03 #1
problemet må være hvis det ord opstår flere gange ....

En anden ting er at jeg ikke helt er klar over hvor du vil dele ... da regner er i starten, men du har cuttet ved regnet ... men det kan du selv rode med ... det kan gøres sådan her:
string text = "Når regnen regner ude på taget har regnen slet ikke oppedaget";
string text2 = text.Substring(0, text.IndexOf("regner")) + text.Substring(text.IndexOf("slet") + 4);
Console.WriteLine(text2);

// ioT
Avatar billede kriss3d Nybegynder
31. januar 2008 - 14:20 #2
ahh ok tak. det ser brugbart ud. jeg prøver at lave noget filtrering på en google søgning.
Avatar billede kriss3d Nybegynder
31. januar 2008 - 14:30 #3
Øhmm lyder sikkert dumt men hvordan tildeler jeg point til dig buzzzz ? du har fortjent det for det svar for det lader til at virke.
Avatar billede Syska Mester
31. januar 2008 - 14:36 #4
når jeg har smidt et svar :-)

Normalt kommentere men bare, og så siger "Sprøger" hvis svar han er tilfreds med hvis der er flere kandidater ...

// ouT
Avatar billede arne_v Ekspert
31. januar 2008 - 15:31 #5
Alternativet er regex:

string text = "Når regnen regner ude på taget har regnen slet ikke oppedaget";
string text2 = text.Substring(0, text.IndexOf("regner")) + text.Substring(text.IndexOf("slet") + 4);
Console.WriteLine(text2);
string text3 = Regex.Replace(text,"(?:regner).*(?:slet)","");
Console.WriteLine(text3);
Avatar billede Syska Mester
05. februar 2008 - 01:01 #6
Det er faktisk ikke helt dumt Arne ... den vil jeg lige skrive bag øret ...

// ouT
Avatar billede arne_v Ekspert
05. februar 2008 - 01:10 #7
Hm. Den er vist ikke helt sikker. Hvis teksten mellem regner og slet optræder
andre steder kan man få problemer.

Måske er:

string text3 = Regex.Replace(text,"regner.*slet","regnerslet");

bedre.
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