Avatar billede lizardine Nybegynder
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 ;-)
Avatar billede -master-d- Nybegynder
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)
Avatar billede -master-d- Nybegynder
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
Avatar billede c9steen Nybegynder
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
Avatar billede -master-d- Nybegynder
09. april 2003 - 22:09 #4
Har lavet et lille værktøj her, men mangler lige at lave det sådan at det også virker med linje skift.

http://denpei.frip.dk/eksperten/aspfil2.asp
Avatar billede -master-d- Nybegynder
09. april 2003 - 22:34 #5
Så skulle den virke.

source-coden kan findes her : http://denpei.frip.dk/eksperten/fsoUtility.zip
Avatar billede lizardine Nybegynder
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???
Avatar billede -master-d- Nybegynder
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.
Avatar billede -master-d- Nybegynder
10. april 2003 - 16:09 #8
carrige return skulle dog gerne være fjernet, men ikke tabs osv.
Avatar billede -master-d- Nybegynder
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>&nbsp;</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.
Avatar billede -master-d- Nybegynder
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>&nbsp;</p>
<p>source-code fil hentes <a href="fsoUtility.zip">her</a></p>
</body>
</html>
Avatar billede lizardine Nybegynder
11. april 2003 - 09:49 #11
Tusind tak for din hjælp -master-d- :-)
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