Avatar billede Kerouac Nybegynder
19. oktober 2011 - 22:27 Der er 7 kommentarer og
1 løsning

Find navn og slet tegn i txt-fil

Jeg har en txt-fil med et indhold, der ser nogenlunde sådan ud:

Anders12234sfsdfsd45345345
Peter3445ewrwerertert645s
Louise5656ghfgh5656jghjgyj

Altså en række fornavne efterfulgt af en vilkår sammensætning af tal og bogstaver - tegnene efter fornavnet har altid en længde 20 tegn.

Jeg ønsker nu at finde frem til fx. navnet Peter for dernæst at slette de 20 tegn, der optræder efter Peters navn. Jeg kender på forhånd navnet Peter, men jeg kender ikke karakteren af de efterfølgende tegn.

Kan det lade sig gøre og i så fald, er der nogen, der kan vise mig hvordan?

Jeg har forsøgt mig med strrpos og substr, men kommer ikke videre.

Pft Kerouac
Avatar billede danco Nybegynder
19. oktober 2011 - 22:39 #1
$line = 'Anders12234sfsdfsd45345345';
$lineLenght = strlen($line);
$name = substr($line, 0, $lineLenght-20);
echo $name;

Ovenstående er utestet, men burde fungerer efter hensigten.
Avatar billede Kerouac Nybegynder
19. oktober 2011 - 23:05 #2
#danco - tak for svaret - får dog først tid til at teste det i morgen.

Men hvad nu hvis jeg gerne vil søge Peter frem for at slette de 20 (ukendte) tegn efter hans navn?
Avatar billede danco Nybegynder
19. oktober 2011 - 23:12 #3
Jeg sletter ingenting i den kode der?
Der adskiller bare navnet og tegnene. Hvad du så gør med navnet efterfølgende er op til dig selv ?
Avatar billede hansepeter2 Praktikant
19. oktober 2011 - 23:36 #4
http://dk2.php.net/manual/en/function.substr.php

substr er så smart, at man kan fodre den med nagative værdier...
Avatar billede Kerouac Nybegynder
20. oktober 2011 - 08:22 #5
Lige for at præcisere, hvad det er, jeg søger hjælp til:

Jeg har en oprindelig txt-fil, der ser sådan ud (blot med flere linier):

Anders12234sfsdfsd45345345
Peter3445ewrwerertert645s
Louise5656ghfgh5656jghjgyj
Anne1223wertfg56789jkuy65
Frederik123dfvbgt67yhju8i908

Jeg vil nu gerne ændre txt-filens indhold til fx:

Anders12234sfsdfsd45345345
Peter3445ewrwerertert645s
Louise5656ghfgh5656jghjgyj
Anne
Frederik123dfvbgt67yhju8i908

Altså vil jeg gerne fjerne tegnene efter et af navnene, i dette eksempel efter navnet Anne.

Jeg har navnene som variabler, men jeg kender ikke indholdet af de 20 tegn efter navnene.

Håber det gør det lidt tydeligere.
Avatar billede danco Nybegynder
20. oktober 2011 - 09:25 #6
Jeg kan ikke se hvordan det adskiller sig fra det jeg skrev ?

Du løber alle linjerne igennem i en løkke, hvis navnet matcher det du gerne vil finde så erstatter du linjen med indholdet af $name ?

Men jeg vil nok anbefale dig at bruge en form for seperator på dine linjer så du kan bruge explode() for at alle linjerne i et array.
Avatar billede Kerouac Nybegynder
21. oktober 2011 - 11:02 #7
Tak for svarene :-)

Danco, vil du sende et svar. Jeg vil arbejde videre med dit bud.
Avatar billede danco Nybegynder
21. oktober 2011 - 11:10 #8
Her kommer et svar fra mig :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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