Avatar billede dank Nybegynder
31. juli 2005 - 15:52 Der er 7 kommentarer og
1 løsning

Fjerne slutningen af $string

Jeg har

$string = "sdlfkjslkjfskldjf\n345";

Jeg skal fjerne det sidste "\n" og det som kommer efter, således at det blier til

$string = "sdlfkjslkjfskldjf";

$string kan være alt fra 10 bytes til 10 megabyte. Hvilket skal tages i betragtning.

Nogen der kan guide mig lidt i hvilken retning jeg skal gå? Skal jeg bruge regexp, substr eller lignende?

Nogen råd?
Avatar billede nielle Nybegynder
31. juli 2005 - 19:48 #1
$text = "sdlfkjslkjfskldjf\n345";

$text =~ m/^(.*)\n.*$/g;
$text = $1;
print $text;
Avatar billede nielle Nybegynder
31. juli 2005 - 19:54 #2
$text = "sdlfkjslkjfskldjf\n345";

$rpos = rindex($text, "\n");
$text = substr($text, 0, $rpos);
print $text;
Avatar billede nielle Nybegynder
31. juli 2005 - 19:55 #3
Umiddelbart ville jeg vurdere at substr den hurtigste.
Avatar billede dank Nybegynder
31. juli 2005 - 22:30 #4
ok tak.. opretter du svar ;=)
Avatar billede nielle Nybegynder
31. juli 2005 - 22:35 #5
Svar :^)
Avatar billede Slettet bruger
03. august 2005 - 13:44 #6
Nielle hvad gør ~, eller ved du hvor man kan finde noget om den på nettet (Jeg ved ikke helt hvad den kaldes ;o))
Avatar billede nielle Nybegynder
03. august 2005 - 18:57 #7
wicez> "~" hører sammen med det foranstillede "="-tegn, og det er derfor ikke rigtigt at spørge hvad "~" gør, men i stedet at spørge om hvad "=~" gør.

"=~" operatoren fortæller bare at det på venstresiden er indput til matching-udtrykket på højresiden.

Dette udtryk, skrevet i perl:

$text =~ m/^(.*)\n.*$/g;
$text = $1;

- ville f.eks. i PHP se sådan her ud:

preg_match("/^(.*)\n.*$/g", $text, $matches);
$text = $matches[1];
Avatar billede Slettet bruger
03. august 2005 - 19:13 #8
Tak nielle.. Jeg var ikke klar over at jeg var kommet til at gå til Perl kategorien i stedet for php, men jeg er glad for at du kom med et eksempel i php.
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
Kurser inden for grundlæggende programmering

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