271
admartinator
Lochkartenstanzer
zanko

Frage ist gelöst
Text in Textdatei suchen

Mitglied: BuRnInGfIrE
29.06.2011
01:36:07 Uhr
1332 Aufrufe
4 Antworten
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.

Mitglied: dog
dog schreibt am 29.06.2011 um 02:13:07 Uhr
So aus dem Kopf:

01.
Module StringExtensions 
02.
 
03.
    <Extension()>  
04.
    Public Sub UpTo(ByVal aString As String,ByVal upto As String) 
05.
        Dim res as Integer = aString.IndexOf(upto) 
06.
        If res = -1 Then 
07.
            Return Nothing 
08.
        End If 
09.
        Return aString.Substring(0,res+1) 
10.
    End Sub 
11.
 
12.
End Module 
13.
 
14.
Dim str as String = source.Substring(offset).UpTo("  ")
Mitglied: BuRnInGfIrE
BuRnInGfIrE schreibt am 29.06.2011 um 02:54:53 Uhr
den Code oben verstehe ich nicht so ganz.
Ich habe das immer so probiert:


01.
<% 
02.
Dim A1init 
03.
Set fsA1init=Server.CreateObject("Scripting.FileSystemObject") 
04.
Set fA1init=fsA1init.OpenTextFile(Server.MapPath("Stats\StatFile\css.txt"), 1) 
05.
 
06.
'Das Wort oder die Zeichenfolge beginnt immer ab zeichen 28 
07.
 
08.
fA1init.Skip(27) 
09.
 
10.
'ab hier kommme ich nicht mehr klar 
11.
'hier werden die Zeichen 28 und 29 eingelesen, brauche aber die gesammte Zeichenfolge bis zum doppelten Leerzeichen 
12.
 
13.
A1init=(fA1init.Read(2)) 
14.
 
15.
'Das ergebnis anzeigen/ausgeben 
16.
 
17.
Response.Write("+A1init+") 
18.
%>

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.
Mitglied: bastla
bastla schreibt am 29.06.2011 um 09:55:41 Uhr
Hallo BuRnInGfIrE!

Ungetestet etwa so:
01.
<% 
02.
Set fsA1init=Server.CreateObject("Scripting.FileSystemObject") 
03.
 
04.
'Dateiinhalt komplett einlesen und ab Zeichen 28 in die Variable "Inhalt" schreiben 
05.
Inhalt=Mid(fsA1init.OpenTextFile(Server.MapPath("Stats\StatFile\css.txt")).ReadAll,28) 
06.
 
07.
'anhand der zwei Leerzeichen splitten und ersten Teilstring verwenden 
08.
A1init=Split(Inhalt,"  ")(0)  
09.
 
10.
'Das Ergebnis anzeigen/ausgeben 
11.
Response.Write("+A1init+") 
12.
%>
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" ...
Mitglied: BuRnInGfIrE
BuRnInGfIrE schreibt am 29.06.2011 um 12:52:53 Uhr
Ich danke euch, besonders bastla.
Hat bestens geklappt.
mehr ...Ähnliche Beiträge