Wie kann ich einen Text oder Wert der zwischen zwei Tags steht mit Autohotkey
in die Zwischenablage kopieren.
Beispiel:
Ich habe eine.txt wo in der 2ten Zeile, ab Position 56 der Tag [size] steht.
Alles was danach kommt soll bis zum [/size]
kopiert werden.
[size] AHK kopier mich in die Zwischenablage [/size]
Da der Satz bzw. Wert immer unterschiedlich lang ist kann ich keine einzelnen Zeichen auszählen lassen.
Es muss also das jeweilige Tag mit in den Code gesetzt werden.
littlepinguin hat mir vor kurzem schon einen Ansatz hierfür gegeben.
Aber ich weiß nicht wie ich das machen soll.
!A::
Send ^c
ClipWait
FileReadLine, Zeilevar, % clipboard, 2
StringMid, Zeitvar, Zeilevar, 56
clipboard := Zeitvar
Return
schau dir mal StringGetPos an, oder direkt InStr wie es empfohlen wird.
Hübsch wäre es mit RegExMatch. Mich kann man damit allerdings jagen.
Sind so Probleme bei dir absehbar, wäre es sicher kein Fehler sich mit regular Expressions im allgemeinen zu beschäftigen.
Wenn du sowas öfter brauchst, würde es dir helfen, wenn du sagst, wo du was nicht verstehst und Links auch anklickst (da gibt’s Beispiele).
Die AHK Hilfe finde ich recht gut.
Das sind eigentlich schöne Übungsaufgaben bei denen man sich ein Grundverständnis aneignen könnte.
Sonst:
!A::
Send ^c
ClipWait ;Dateipfad der markierten Datei befindet sich im CB
FileReadLine, Zeilevar, % clipboard, 2 ;Zeile 2 auslesen
StartPos := InStr(Zeilevar, "[size]", 0) + 6 ;Startpossition ist der Beginn von [size] + 6 = das Zeichen nach [size]
Zeichen := InStr(Zeilevar, "[/size]", 0) - StartPos ;Textlänge entspricht der Position von [/size] abzüglich der Startposition
StringMid, Ausgabe, Zeilevar, StartPos, Zeichen
MsgBox % Ausgabe
Return
Hallo lipi
Danke für den Code.
Es ist nicht so wie du denkst.
Ich habe mir schon vorher die deutsche Erklärung von AHK angeschaut.
Auch die Beispiele.
Das gute an AHK ist, daß es mehrere Wege zum Ergebnis gibt.
Bloß, wenn man das Puzzle nicht zusammen setzen kann, und nur Fehlermeldungen bekommt, braucht man halt Leute, so wie du,
die einem dann helfen können.
Die einen können besser coden und anderen halt besser kleine Brötchen backen.
Die Stringsuche ist allerdings kein spezielles AHK-Spezifikum, sondern ein Generelles beim Programmieren - und instr und ein darauffolgendes substr (oder wie auch immer) sind weit verbreitete Instrumente hierfür.
(auch wenn ich „string in ahk suchen“ google und „instr()“ das erste Ergebnis ist)
@lipi
Kurze Rückmeldung
Code ist top!
Brauchte nur noch die Startposition und die letzte Zeile ändern.
Jetzt landet es direkt in die Zwischenablage.
Nochmals,Danke.