Avatar billede rocha_dk Nybegynder
27. april 2009 - 15:35 Der er 10 kommentarer og
1 løsning

Fjern linieskift .replace('\n',' ') ikke nok...

Hej Eksperter,

Jeg sidder og bøvler med at få c# til at fjerne linieskift i en streng, som skal bruges i en document.write(). Jeg troede at streng.replace('\n','') burde være nok, men det lader ikke til at det klarer jobbet.

Jeg har desuden prøvet streng.replace('\n',' ').replace('\r',' ') men heller ikke det fungerer.

Har i en ide til hvad jeg kan gøre for at få fjernet linieskiftet?
Avatar billede aaberg Nybegynder
27. april 2009 - 15:44 #1
Det kommer meget an på, hvor du har din streng fra. Hvis du læser strengen ind fra en eller anden tekstfil, kommer det an på hvilken konvention der er brugt da der blev skrevet til tekstfilen.

Men derudover. Replace gør ikke noget på strengen hvorfra metoden kaldes, men opretter i stedet en kopi af strengen, som den returnerer. Så prøv:

myString = myString.Replace('\n',' ').replace('\r',' ');

eller bare:
myString = myString.Replace(Environment.NewLine, "");
Avatar billede arne_v Ekspert
27. april 2009 - 15:46 #2
Lyder mystisk hvad med:

s = s.Replace("\r\n", "");

?
Avatar billede rocha_dk Nybegynder
27. april 2009 - 15:50 #3
Mindre fejl, jeg har naturligvis gjort det således:
streng = streng.replace('\n',' ');

Strengen hentes fra en database.

Jeg prøvede med myString = myString.Replace(Environment.NewLine, "");  og heller ikke det fungerede, og heller ikke s = s.Replace("\r\n", "");
Avatar billede aaberg Nybegynder
27. april 2009 - 16:05 #4
Prøv at bruge debuggeren i visual studio. Dette vil sikkert kunne gi dig et hint om, hvad der er brugt som linjeskift i kildedokumentet.
Avatar billede rocha_dk Nybegynder
28. april 2009 - 08:57 #5
Det her var åbenbart en af de ting man bare skulle kode fra bunden af igen for at få det til at virke.. eller også skulle det bare have lov til at ligge natten over.. i hvert fald virker det nu :s

Tak for hjælpen gutter, i kan bare smide et svar, så deler jeg point ud i mellem jer.
Avatar billede aaberg Nybegynder
28. april 2009 - 09:03 #6
Flot at du fik det til at virke :-)
Avatar billede arne_v Ekspert
28. april 2009 - 16:05 #7
Det gik vist galt med delingen ...
Avatar billede rocha_dk Nybegynder
28. april 2009 - 16:29 #8
Ja, jeg troede ikke du ville have nogen point :p

Men kan jeg give dig point på en anden måde? Så får du bare 60 også :)
Avatar billede arne_v Ekspert
29. april 2009 - 04:08 #9
Det er helt fint at aaberg fik pointene. Jeg blev bare lidt puzzeled af at du sagde at du ville dele.
Avatar billede rocha_dk Nybegynder
29. april 2009 - 10:21 #10
Det ville jeg bestemt også, men der var ikke kommet et svar fra dig og så tænkte jeg at du nok var ligeglad med pointene.

Jeg vil altså meget gerne give dig point også, så hvis der er en mulighed for det, kan du så ikke lige guide mig til hvordan det gøres?
Avatar billede arne_v Ekspert
11. maj 2009 - 04:19 #11
Det går nok.

Men en anden gang synes jeg at du skulle vente lidt længere end 7 timer med at konkludere at der ikke kommer et svar.

Ikke alle er på E hver dag.
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

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