1 (изменено: estenha, 2016-06-09 03:09:05)

Тема: AHK: Странное поведение StringReplace

Доброго времени суток!
В скрипте использую команду StringReplace, Clipboard, Clipboard, `r`n, , All (та, которая в справке AHK)
Копирование данных в буфер происходит из контекстного меню командой "Копировать внутренний HTML" (дело происходит в Инспекторе Firefox'а), затем выполняется StringReplace, Clipboard, Clipboard, `r`n, , All, но CR+LF не удаляются. Если после того, как выполнить "Копировать внутренний HTML", затем открыть, например, Блокнот, вставить туда из буфера по CTRL-V данные, выделить (CTRL-A) и скопировать (CTRL-C), а затем применить StringReplace, Clipboard, Clipboard, `r`n, , All, то CR+LF удаляются (собственно, этот "костыль" и был реализован в скрипте), но... вопрос - копирование в буфер через контекстное меню чем-то отличается от стандартного копирования по CTRL-C ?! Или я что-то упускаю?

Проделывал эксперимент вручную - "мышкой" правая кнопка, контекстное меню, "Копировать внутренний HTML", затем запускал скрипт с единственной строкой StringReplace, Clipboard, Clipboard, `r`n, , All - отрицательный результат, тут же открывал Блокнот, вставлял данные, копировал, опять выполнял скрипт, вставлял данные сюда же в Блокнот - все переводы строк удалены.

2 (изменено: serzh82saratov, 2016-06-09 03:18:57)

Re: AHK: Странное поведение StringReplace

А если так, тоже не работает?

StringReplace, Clipboard, Clipboard, `r, , All
StringReplace, Clipboard, Clipboard, `n, , All 
StringReplace, Clipboard, Clipboard, `r`n, , All 

или:

String := Clipboard
StringReplace, String, String, `r, , All
StringReplace, String, String, `n, , All 
StringReplace, String, String, `r`n, , All 
Clipboard := String
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3

Re: AHK: Странное поведение StringReplace

Строчка не всегда заканчивается CR+LF. Иногда просто LF.
Универсальный вариант:

Clipboard := RegExReplace(Clipboard, "\R")
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

4

Re: AHK: Странное поведение StringReplace

serzh82saratov пишет:

А если так, тоже не работает?
...
или:

String := Clipboard
StringReplace, String, String, `r, , All
StringReplace, String, String, `n, , All 
StringReplace, String, String, `r`n, , All 
Clipboard := String

Работает! Спасибо!

5

Re: AHK: Странное поведение StringReplace

Хм, а мой вариант не работает?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: Странное поведение StringReplace

teadrinker пишет:

Строчка не всегда заканчивается CR+LF. Иногда просто LF.
Универсальный вариант:

Clipboard := RegExReplace(Clipboard, "\R")

Тоже работает! Спасибо!

7

Re: AHK: Странное поведение StringReplace

Не за что, только цитировать посты полностью не надо.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder