Hallo in die Runde
Ist es möglich per Autoit mehrere Text-Dateien (im selben Ordner) einzulesen und Zahlenkombinationen dieser Art zu suchen XX|XX und sie in was anderes zu verändern, zB *XX|XX*?
Vielen vielen Dank vorab.
LG
Julchen
Hallo in die Runde
Ist es möglich per Autoit mehrere Text-Dateien (im selben Ordner) einzulesen und Zahlenkombinationen dieser Art zu suchen XX|XX und sie in was anderes zu verändern, zB *XX|XX*?
Vielen vielen Dank vorab.
LG
Julchen
Vielleicht habe ich mich blöd ausgedrückt.
Ich habe vier Textdateien, in diesen Textdateien sind Codes.
Ich möchte nun das Autoit-Script in den selben Ordner wie die vier Textdateien packen. Und bei Doppelklick soll Autoit in allen Textdateien nach Codes dieses Formats suchen: XX/XX
Wenn gefunden, soll es direkt in der Textdatei die Codes von XX/XX in *XX/XX* umwandeln.
Ist das möglich?
Ja es ist möglich, am besten schaust du in der Hilfe nach File* bzw. _File* String*, RegEx*-Funktionen und _ReplaceStringInFile.
Da hier kein 24/7 Supportseite ist brauchst du das Thema auch nicht pushen (geht auch nicht schneller), solange niemand geantwortet hat ust es in diesem Forum üblich das Thema zu bearbeiten/ergänzen.
Edit: hilfreich wäre auch Beispiele vorher nachher einzustelleh
mfg autoBert
Bitte um Entschuldigung, das wusste ich nicht.
Beim Neu-Lesen hat mir einfach nicht gefallen, wie ich mich das ausgedrückt habe.
Ich habe leider keine Ahnung vom Programmieren. Mein Papa hat mich darum gebeten zu gucken, wie man das bewerkstelligen kann. Und ein Freund hat mir den Link zu diesem Forum gegeben.
Hat jemand Zeit/Lust mir hier intensiver zu helfen? Gerne auch gegen Bezahlung (aber bitte kein teurer Experte, bin Studentin ) .
LG
nach Codes dieses Formats suchen: XX/XX
Sag bitte mal genau, welche Werte XX annehmen kann, nur dann kann man ein allgemeingültiges Suchpattern erstellen.
XX sind immer Zahlen. Oder verstehe ich was falsch?
Hab grad nen bisschen Zeit. Ich schick mal ne PM.
XX sind immer Zahlen. Oder verstehe ich was falsch?
Du meinst sicher Ziffern 0-9 deshalb wollte ich sicher gehen, Zahlen gibt es auch z.B. in der Form AF30EC (hexadezimale Zahlen)
Sorry, ja... Ziffern
Ich kenne mich damit wirklich nicht aus.
Mein Internet wurde umgestellt, konnte jetzt erst wieder reinschauen.
Eine PM habe ich nicht bekommen, oder kommt die nicht über "Konversationen"?
LG und vielen Dank
Sieh dir dies mal an:
_fileReplace("xxx.txt")
Func _fileReplace($file,$search="[0-9][0-9]|[0-9][0-9]",$replace="\*[0-9][0-9]|\*[0-9][0-9]")
$data=FileRead($file)
$data=StringRegExpReplace($data,$search,$replace)
FileWrite($file,$data)
EndFunc
Um die Dateien im Ordner zu finden such mal nach FileFindFirstFile und FileFindNextFile. In der Hilfe ist dort ein Beispiel. Sonst hilfe auch _FileListToArray
(Die PM ist wohl in den weiten des Internets verschollen... oder ich hab vergessen auf senden zu klicken :D)
Danke dir, ich probiere es aus und melde mich. :))
LG
Julchen
Ich habe es ausprobiert. Leider macht das Script aus beispielsweise:
12|13 -> 12|13\*[0-9][0-9]|\*[0-9][0-9]
War auch keine komplettlösung, sondern nen Denkanstoß
_fileReplace("xxx.txt","12|13","*12|13*")
würde z.B. funktionieren
Wenn du den String nur 1x schreiben willst geht auch:
_fileReplace("xxx.txt","12|13","*$1*")
und in der Func dann noch nen $replace=StringRegExpReplace($replace,"("&$search&")",$replace)
Da geht alles Mögliche, jenachdem, wie genau du das haben willst. Kannst ja mal nen bisschen rumprobieren
Ok, aber wie sag ich dem Programm, dass es alle Codes suchen soll und dann die Sternchen vorn und hinten hinzufügen soll?
Das muss ja irgendwie dynamischer gehen (kA ob das das richtige Wort ist hihi)
Sonst muss ich ja, wenn ich das richtig verstehe, jeden möglichen Code im Vorfeld ins Programm schreiben, oder?
*verwirrt*
Also muss ich $string vorher sagen, wie es aussieht?
Also zB $string=[0-9][0-9]|[0-9][0-9]?
Ich danke dir für deine Hilfe, aber ich kenne mich mit Pferden aus und studiere Englisch und Geschichte. Ich fürchte mir fehlen da Erfahrungen, um da durchzublicken.
Der funktionsaufruf sieht dort so aus:
_fileReplace("xxx.txt","12|13")
Also _fileReplace("xxx.txt","[0-9][0-9]|[0-9][0-9]")?
Ne, dafür bräuchtest du StringRegExpReplace... StringReplace ist REINE Textersetzung. Das andere sind reguläre Ausdrücke
$data=StringRegExpReplace($data,$search,"*$1*") müsste funktionieren
Beispiel:
Tur mir Leid, dass ich deine Zeit verschwende - ich verstehe es einfach nicht.
Ich hab jetzt alles ausprobiert, die Hilfe gelesen, aber ich verstehe die Terminologie einfach nicht; begreife noch nicht Mal zu 100%, was welcher Befehl tatsächlich macht.
Jetzt verstehe ich auch, warum ihr Programmierer so gut bezahlt werdet.