Jump to content
Sign in to follow this  
gringo123

Suche nach mehreren unabhängigen Begriffen

Recommended Posts

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

Share this post


Link to post

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

Share this post


Link to post

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

Share this post


Link to post

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

Share this post


Link to post

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)
...

Share this post


Link to post
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

Share this post


Link to post

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

Share this post


Link to post

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)

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...