09. april 2003 - 16:21
Der er
10 kommentarer og 1 løsning
Fjerne tekst i en tekstfil
Hej Jeg ønsker at fjerne en udvalgt tekst fra en tekst fil, men kan ikke rigtig få det til at virke. Teksten jeg ønsker at fjerne er ret lang og indeholder carrige return og line/tab feeds. Jeg har forsøgt mig med Replace() funktionen - men det virker ikke. Et eksempel kunne være: TekstDerSkalFjernes = "Dette er en tekst som skal fjernes og bla bla osv..." Set aObjFso = Server.CreateObject("Scripting.FileSystemObject") Set aObjFile = aObjFso.OpenTextFile("minfil.txt", 1, False) Do While Not aObFile.AtendOfStream aStrContent = aStrContent & aObjFile.ReadLine & " " Loop aStrContent = Replace(aStrContent, TekstDerSkalFjernes) aObjFile.WriteLine (aStrContent) Håber at få lidt hjælp ;-)
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
09. april 2003 - 17:30
#1
Hvad med den her. TekstDerSkalFjernes = "Dette er en tekst som skal fjernes og bla bla osv..." Set aObjFso = Server.CreateObject("Scripting.FileSystemObject") Set aObjFile = aObjFso.OpenTextFile("minfil.txt", 1, False) Do While Not aObFile.AtendOfStream aStrContent = aStrContent & aObjFile.ReadLine & " " Loop aStrContent = Replace(aStrContent, TekstDerSkalFjernes,"") aObjFile.WriteLine (aStrContent)
09. april 2003 - 17:39
#2
Men så vidt jeg kan forstå er det jo heller ikke bare en linie vi snakker om her, så mon ikke det skal hedde : TekstDerSkalFjernes = "Dette er en tekst som skal fjernes og bla bla osv..." Set aObjFso = Server.CreateObject("Scripting.FileSystemObject") Set aObjFile = aObjFso.OpenTextFile("minfil.txt", 1, False) Do While Not aObFile.AtendOfStream aStrContent = aStrContent & aObjFile.ReadLine & " " Loop aStrContent = Replace(aStrContent, TekstDerSkalFjernes,"") aObjFile.Write aStrContent
09. april 2003 - 19:26
#3
Hvis din tekst indeholder linie linieskift og lign. kan du forud for den egentlige replace have erstatte vbCrLf, vbTab og deslige med blanktegn (mellemrum). Erstat derefter samtlige dobbelte blanktegn med enkelte (sålænge der er nogle) og foretag til sidst den egentlige replace af teksten. Hvis du kan arbejde i javaScript eller JScript kan du bruge escape(tekst) for af finde ud af, hvilke specialtegn du har i teksten og hvor de er placeret. /Steen
10. april 2003 - 14:58
#6
-master-d->> Dit eksempel virker men jeg dog en del problemer med Line og Tab Feeds. Når du skriver i din kode: aStrContent = f.ReadAll Er der en mulighed for at konvertere aStrContent så alle carrige return/line/tab feeds bliver fjernet???
10. april 2003 - 16:08
#7
Ja det kan man sagtens, det er bare et spørgsmål om at indsætte nogle replace's.
10. april 2003 - 16:09
#8
carrige return skulle dog gerne være fjernet, men ikke tabs osv.
10. april 2003 - 16:14
#9
Så skulle det hele se sådan her ud. --------------------------------------aspfil2.asp--------------------------- <% If Request.Form("slettes") <> "" Then Dim fso, f, filespec Set fso = CreateObject("Scripting.FileSystemObject") filespec = Server.Mappath("tekstfil.txt") Set f = fso.OpenTextFile(filespec,1) TekstDerSkalFjernes = Request.Form("slettes") TekstDerSkalFjernes = Replace(TekstDerSkalFjernes, vbTab," ") TekstDerSkalFjernes = Replace(TekstDerSkalFjernes, vbCrLf," ") Do While Not f.AtendOfStream aStrContent = f.ReadAll Loop aStrContent = Replace(aStrContent, vbTab," ") aStrContent = Replace(aStrContent, vbCrLf," ") aStrContent = Replace(aStrContent, TekstDerSkalFjernes,"") f.Close Set f2 = fso.OpenTextFile(filespec,2) f2.Write aStrContent f2.Close End If %> <html> <head> <title>Læse fra tekstfiler</title> </head> <body> <div align="center"> <center> <table border="1" width="665" height="317" cellspacing="0" cellpadding="0" bgcolor="#0099FF" bordercolor="#000000"> <tr> <td width="665" height="19" colspan="2" align="center"><font color="#FFFFFF" size="5" face="911 Porscha"><b>Tekstfile editor</b></font></td> </tr> <tr> <td width="240" height="25" align="center"><font color="#FFFFFF">Indtast det som skal slettes...</font></td> <td width="409" height="25" align="center"><font color="#FFFFFF">Nuværende tekstfil</font></td> </tr> <tr> <td width="240" height="254" align="center"> <form method="POST" action="aspfil2.asp"> <p><font color="#FFFFFF"><textarea rows="13" name="slettes" cols="26"></textarea></font></p> <p><font color="#FFFFFF"><input type="submit" value="Send" name="B1"> </font> </p> </form> </td> <td width="409" height="254" align="center"> <% Set fso2 = CreateObject("Scripting.FileSystemObject") Set f3 = fso2.OpenTextFile(Server.Mappath("tekstfil.txt"),1) NuTekst = f3.ReadAll f3.Close %> <p><font color="#FFFFFF"><textarea rows="15" name="S1" cols="47"><%=NuTekst%></textarea></font></p> </td> </tr> </table> </center> </div> <p> </p> <p>source-code fil hentes <a href="fsoUtility.zip">her</a></p> </body> </html> --------------------------------------slut---------------------------------- Hvis så skulle vbTab og vbCrLf ihvert fald være sorteret fra.
10. april 2003 - 16:47
#10
lille fejl skal nok være dette istedet. <% If Request.Form("slettes") <> "" Then Dim fso, f, filespec Set fso = CreateObject("Scripting.FileSystemObject") filespec = Server.Mappath("tekstfil.txt") Set f = fso.OpenTextFile(filespec,1) TekstDerSkalFjernes = Request.Form("slettes") TekstDerSkalFjernes = Replace(TekstDerSkalFjernes, vbTab," ") TekstDerSkalFjernes = Replace(TekstDerSkalFjernes, vbCrLf," ") Do While Not f.AtendOfStream aStrContent = f.ReadAll Loop aStrContent = Replace(aStrContent, vbTab,"(/&") aStrContent = Replace(aStrContent, vbCrLf,(&/" ") aStrContent = Replace(aStrContent, TekstDerSkalFjernes,"") aStrContent = Replace(aStrContent, "(/&", vbTab) aStrContent = Replace(aStrContent, "(&/", vbCrLf) f.Close Set f2 = fso.OpenTextFile(filespec,2) f2.Write aStrContent f2.Close End If %> <html> <head> <title>Læse fra tekstfiler</title> </head> <body> <div align="center"> <center> <table border="1" width="665" height="317" cellspacing="0" cellpadding="0" bgcolor="#0099FF" bordercolor="#000000"> <tr> <td width="665" height="19" colspan="2" align="center"><font color="#FFFFFF" size="5" face="911 Porscha"><b>Tekstfile editor</b></font></td> </tr> <tr> <td width="240" height="25" align="center"><font color="#FFFFFF">Indtast det som skal slettes...</font></td> <td width="409" height="25" align="center"><font color="#FFFFFF">Nuværende tekstfil</font></td> </tr> <tr> <td width="240" height="254" align="center"> <form method="POST" action="aspfil2.asp"> <p><font color="#FFFFFF"><textarea rows="13" name="slettes" cols="26"></textarea></font></p> <p><font color="#FFFFFF"><input type="submit" value="Send" name="B1"> </font> </p> </form> </td> <td width="409" height="254" align="center"> <% Set fso2 = CreateObject("Scripting.FileSystemObject") Set f3 = fso2.OpenTextFile(Server.Mappath("tekstfil.txt"),1) NuTekst = f3.ReadAll f3.Close %> <p><font color="#FFFFFF"><textarea rows="15" name="S1" cols="47"><%=NuTekst%></textarea></font></p> </td> </tr> </table> </center> </div> <p> </p> <p>source-code fil hentes <a href="fsoUtility.zip">her</a></p> </body> </html>
11. april 2003 - 09:49
#11
Tusind tak for din hjælp -master-d- :-)
Kurser inden for grundlæggende programmering