burningfire
Goto Top

Text in Textdatei suchen

Hallo,
ich habe ein Problem und komme einfach nicht selbst auf die Lösung.

Also, ich möchte mit einer ASP Web-Site per VBS ein Unbekannten Text, welcher immer exakt an selber Position beginnt aber eine unbekannte Länge hat, aus einer Text Datei einlesen. Der Text selbst kann ein oder mehre Leerzeichen enthalten, jedoch niemals mehrere Leerzeichen direkt hintereinander. Nach diesen gesuchten Text stehen immer 2 leerzeichen nacheinander da.

Ich hoffe ihr könnt mir helfen.

Danke.

Content-Key: 168801

Url: https://administrator.de/contentid/168801

Printed on: April 26, 2024 at 09:04 o'clock

Member: dog
dog Jun 29, 2011 at 00:13:07 (UTC)
Goto Top
So aus dem Kopf:

Module StringExtensions

    <Extension()> 
    Public Sub UpTo(ByVal aString As String,ByVal upto As String)
        Dim res as Integer = aString.IndexOf(upto)
        If res = -1 Then
            Return Nothing
        End If
        Return aString.Substring(0,res+1)
    End Sub

End Module

Dim str as String = source.Substring(offset).UpTo("  ")  
Member: BuRnInGfIrE
BuRnInGfIrE Jun 29, 2011 at 00:54:53 (UTC)
Goto Top
den Code oben verstehe ich nicht so ganz.
Ich habe das immer so probiert:


<%
Dim A1init
Set fsA1init=Server.CreateObject("Scripting.FileSystemObject")  
Set fA1init=fsA1init.OpenTextFile(Server.MapPath("Stats\StatFile\css.txt"), 1)  

'Das Wort oder die Zeichenfolge beginnt immer ab zeichen 28  

fA1init.Skip(27)

'ab hier kommme ich nicht mehr klar  
'hier werden die Zeichen 28 und 29 eingelesen, brauche aber die gesammte Zeichenfolge bis zum doppelten Leerzeichen  

A1init=(fA1init.Read(2))

'Das ergebnis anzeigen/ausgeben  

Response.Write("+A1init+")  
%>

Wäre schön wenn dieser code angepasst werden könnte.

Sorry aber in Scripten bin ich nicht so gut, wenn jemand also einen vollkommend anderen Script dafür weiss, bin ich offen für Ideen, brauche aber ein kompletes Beispiel wie zb. wo Datei xxx.txt geöffnet und gelesen wird.

Danke.
Member: bastla
bastla Jun 29, 2011 at 07:55:41 (UTC)
Goto Top
Hallo BuRnInGfIrE!

Ungetestet etwa so:
<%
Set fsA1init=Server.CreateObject("Scripting.FileSystemObject")  

'Dateiinhalt komplett einlesen und ab Zeichen 28 in die Variable "Inhalt" schreiben  
Inhalt=Mid(fsA1init.OpenTextFile(Server.MapPath("Stats\StatFile\css.txt")).ReadAll,28)  

'anhand der zwei Leerzeichen splitten und ersten Teilstring verwenden  
A1init=Split(Inhalt,"  ")(0)   

'Das Ergebnis anzeigen/ausgeben  
Response.Write("+A1init+")  
%>
Wie soll eigentlich die Ausgabe aussehen? Wenn es der gefunden Wert unter Anführungszeichen gesetzt sein soll, würde das in VBS-Schreibweise so aussehen:
Response.Write(""""&A1init&"""")
Grüße
bastla

P.S.: Wenn schon Variablendeklarationen mit "Dim", dann aber für alle Variablen und mit "Option Explicit" ...
Member: BuRnInGfIrE
BuRnInGfIrE Jun 29, 2011 at 10:52:53 (UTC)
Goto Top
Ich danke euch, besonders bastla.
Hat bestens geklappt.