Jeg går ud fra, at det er det sidste, der er problemet. Følgende fjerner tegnene efter det andetsidste mellemrum: <% streng = "Tekst med vel nok en hel del ord hentet fra en tekstfil, af hvilke de to sidste skal fjernes."
'Del strengen op i et array ved hvert mellemrum: strengarr = Split(streng, " ") 'Sæt de to sidste ord lig "": strengarr(UBound(strengarr)) = "" strengarr(UBound(strengarr)-1) = "" 'Sæt tekstværdien for streng lig det første ord fra strengen: streng = strengarr(0) 'Sæt resten af ordene sammen med mellemrum: For i = 1 to UBound(strengarr) - 2 streng = streng & " " & strengarr(i) Next %>
Her læses filen, og samtidigt fjernes de sidste 2 ord (dvs, de sker løbende unden ekstra kode):
dim fso, fil, tmp, udskrift ' dimme variablerne
Set fso = CreateObject("Scripting.FileSystemObject") ' oprettet FileSystemObject (kræves for at læse filer) set fil = fso.OpenTextFile(server.mappath("fil.txt"), 1) ' henvisning til filen der skal læses
do while not fil.atEndOfStream ' forsætter så længe at vi ikke er nået til slutningen
tmp = fil.readline ' læs 1 linie
if fil.atEndOfStream = True Then ' er vi nået til slutningen?
' vi er nået til slutningen af filen, fjern de sidste 2 ord: tmp = Left(tmp, InStrRev(Line, " ") - 1) ' fjern det sidste ord tmp = Left(tmp, InStrRev(Line, " ") - 1) ' fjern det sidste ord
end if
udskrift = udskrift + tmp ' tilføj den nuværende linie, til variablen: udskrift loop
Det rettede indhold, er nu gemt i variablen: udskrift Hvis du vil, gemmer du bare indholdet af variablen, i samme fil (overskriver).
Der var en fejl (eller to) i mit tidligere indlæg.. her er koden der virker:
<% dim fso, fil, tmp, udskrift ' dimme variablerne
Set fso = CreateObject("Scripting.FileSystemObject") ' oprettet FileSystemObject (kræves for at læse filer) set fil = fso.OpenTextFile(server.mappath("fil.txt"), 1) ' henvisning til filen der skal læses
do while not fil.atEndOfStream ' forsætter så længe at vi ikke er nået til slutningen
tmp = fil.readline ' læs 1 linie
if fil.atEndOfStream = True Then ' er vi nået til slutningen?
' vi er nået til slutningen af filen, fjern de sidste 2 ord: tmp = Left(tmp, InStrRev(tmp, " ") - 1) ' fjern det sidste ord tmp = Left(tmp, InStrRev(tmp, " ") - 1) ' fjern det sidste ord
end if
udskrift = udskrift + tmp ' tilføj den nuværende linie, til variablen: udskrift loop
' her gemmes indholdet i filen igen: set fil = fso.OpenTextFile(server.mappath("fil.txt"), 2) ' henvisning til filen der skal læses fil.write(udskrift) ' skriv til filen fil.close ' luk filen
set fil = nothing set fso = nothing
'' Hvis du vil læse filen igen, fjern '-tegnene:
' set fil = fso.OpenTextFile(server.mappath("fil.txt"), 1) ' henvisning til filen der skal læses ' response.write fil.readall ' fil.close
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.