Как я могу пойти о фильтрации переменной или файла в autohotkey

Я пытаюсь отфильтровать конкретную информацию в переменную путем анализа буфера обмена, но мне нужна помощь в этом.

Loop, parse, clipboard, `n, `r
 {
If A_LoopField contains XYZ
;Copy whatever text is found 2 or 3 lines below into file but continue on.
 }

Вот пример того, что

Буфер обмена = (

  • Строка 1 - пусто
  • Строка 2 - XYZ Некоторый текст, говорящий моему сценарию о копировании строки 4 и т. Д.
  • Строка 3 - Бланк
  • Строка 4 - "Текст для копирования"
  • Строка 5 - Бланк
  • Строка 6 - XYZ Некоторый текст, говорящий моему сценарию о копировании строк 8 и т. Д.
  • Строка 7,,)

1 ответ

Не уверен, что это то, что вы ищете

cb =
(LTrim
    Line1
    Line2
    copy:5
    Line4
    Line5
    Line6
    copy:10
    Line8
    Line9
    Line10
    Line11
    Line12
)

copied := []    

Loop, parse, cb, `n, `r
{
    pos := (v:=strSplit(A_LoopField, ":")[2]) ? v:pos

    if (pos && A_Index >= pos){
        copied.push(A_LoopField)
    }
}

for k, v in copied
{
    msgBox % v
}
Другие вопросы по тегам