Jump to content

Suche nach mehreren unabhängigen Begriffen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

der Script ist echt super, funktioniert tadellos.

 

Ich möchte damit aber etwas mehr suchen und ersetzen,

weis aber nicht wie ich das machen soll, habe schon viel rumprobiert,

gegoogelt, u.s.w.

 

Wie kann ich mehrere begriffe gleichzeitig suchen und ersetzen die nicht in einer Zeile sind?

 

Habe in meinem gesuchten Texten auch „ Gänsefüßchen, wie kann ich die eingeben damit sie auch gesucht werden?

 

Und wenn der Gesuchte Text aus einem Zeilenumbruch besteht geht das auch nicht,

da kann man auch bestimmt was machen?

 

Würde mich freuen wenn mir jemand helfen könnte.

 

Danke im vorraus.

 

 

Gruß

Gringo123

Link zu diesem Kommentar

Schade das keiner eine Antwort für mich hat,

ich erkläre das noch mal.

 

Es geht um folgenden Script:

 

Set MyFiles = CreateObject("Scripting.FileSystemObject")
varDatei="C:\a.txt"
Set f = MyFiles.OpenTextFile(varDatei, 1)
Text = f.ReadAll

varSearch="AAAAAA"
varReplace="BBBB"

Set f = MyFiles.OpenTextFile(varDatei, 2, True)
f.Write Replace(Text, varSearch, varReplace,1,-1,1)

 

Es ersetzt die Wörter AAAAAA durch BBBB in einer Textdatei C:\a.txt

 

Es kann aber nur ein Wort suchen u. ersetzen, ich möchte aber mehrere gleichzeitig suchen u. ersetzen.

 

Befinden sich im Gesuchten Wort „“ Gänsefüßchen was bei meiner Textdatei oft vorkommt, schmeißt das Script nur noch eine Fehlermeldung.

 

Wörter suchen die über ein Zeilenumbruch gehen kann das Script auch nicht :cry:

 

Hat jemand eine Idee was ich am Script ändern kann?

 

Gruß

Gringo123

Link zu diesem Kommentar

Hi,

warum muss die Suche nach mehreren Begriffen gleichzeitig erfolgen? Bau dir eine Funktion, die du mehrfach nacheinander mit den Parametern varDatei, varSearch und varReplace aufrufst.

Für die Suche nach Gänsefüsschen und Zeilenumbruch beschäftige dich mit regulären Ausdrücken (google: vbscript regular expressions). Damit kannst du Sonderzeichen "maskieren"

 

cu

blub

Link zu diesem Kommentar

Hallo blub,

 

das klingt sicher sehr einfach für jemand der sich damit auskennt,

der würde aber auch keine Hilfe suchen.

Ich habe überhaupt keine Ahnung von vbscripte.

 

Habe wie schon mal geschrieben viel Gegoogelt, aber alles was ich versuche erzeugt nur Fehlermeldungen. Für Gänsefüßchen soll man Chr(34) schreiben, aber das tut nichts.

Bin echt am verzweifeln.

 

Könntest du mir bitte ein Beispiel schreiben wie du das meinst.

 

Gruß

Gringo

Link zu diesem Kommentar

Moin,

Probier's mal in der Art:

Set f = MyFiles.OpenTextFile(varDatei, 2, True)
Varsearch = Chr(34) & "textzwischengänsefüssen" & Chr(34)
Varreplace = "ersatztexzohnegänsefüssen"
f.Write Replace(Text, varSearch, varReplace,1,-1,1)
Varsearch = "textmit" & chr(13) & "Umbruch"
Varreplace= "ersatztextohneumbruch"
f.Write Replace(Text, varSearch, varReplace,1,-1,1)
...

Link zu diesem Kommentar
Hallo blub,

 

das klingt sicher sehr einfach für jemand der sich damit auskennt,

der würde aber auch keine Hilfe suchen.

Ich habe überhaupt keine Ahnung von vbscripte.

 

Habe wie schon mal geschrieben viel Gegoogelt, aber alles was ich versuche erzeugt nur Fehlermeldungen. Für Gänsefüßchen soll man Chr(34) schreiben, aber das tut nichts.

Bin echt am verzweifeln.

 

Könntest du mir bitte ein Beispiel schreiben wie du das meinst.

 

Gruß

Gringo

 

dann versuch doch einfach mal dich in Skripting einzuarbeiten!

Solange du "überhaupt keine Ahnung vom Skripten hast", wäre auch ein Beispiel für dich sinnlos.

 

cu

blub

Link zu diesem Kommentar

Hallo,

 

@Cybquest dein Beispiel war richtig gut es funktioniert, nun weis ich wie das geht.

Das mit dem Zeilenumbruch wollte aber nicht so richtig, aber dank Google habe ich rausgefunden das es so sein muss:

 varSearch= "vor Umbruch“ & CHR(13) & CHR(10) & „nach Umbruch“

Was mir nicht gelingt ist die Funktion, die mehrfach nacheinander mit den Parametern varDatei, varSearch und varReplace mehrere Begriffe nacheinander sucht u. ersetzt.

 

Könntet ihr mir dabei noch etwas helfen?

 

Gruß

Gringo

Link zu diesem Kommentar

Ungetestet... in der Art:

...
Set f = MyFiles.OpenTextFile(varDatei, 2, True)

ReplaceMyString("String1","Ersatz1")
ReplaceMyString("String2" & chr(13) &chr(10) & "sss","String2)

Function ReplaceMyString(varSearch,varReplace)
 f.Write Replace(Text, varSearch, varReplace,1,-1,1)
End Function
...

 

Jo, das mit chr(10) ist korrekt. Wird allerdings unterschiedlich gehandhabt. Hin und wieder reicht chr(13).

 

chr(13) ist der sog. "Carriage return" (Wagenrücklauf... noch aus Schreibmaschinenzeiten ;) )

chr(10) ist "LineFeed" (Zeilenschaltung)

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...