Войти

Показать полную графическую версию : [решено] Первая строчка переменной. Как скопировать?


r35TnX
04-03-2009, 01:59
Подскажите пожалуйста как можно из значения переменной (полученного в результате копирования многострочного текста) первую строчку скопировать в буфер?

Creat0R
04-03-2009, 02:18
первую строчку скопировать в буфер? »

Вот так можно:


$sMultiLineText = StringFormat("First Line\nSecond Line\nThird Line")
$sFirstLineText = StringRegExpReplace($sMultiLineText, "\A(?s)(.*?)[\r|\n].*", "\1")

ConsoleWrite($sFirstLineText & @CRLF)
ClipPut($sFirstLineText)

r35TnX
04-03-2009, 12:01
насколько я понял мне нужно $sMultiLineText заменить на название своей переменной. Попробовал... в итоге почему то выдает First Line

Вот кусок кода:

$pattern="(?s).*?movie_box_right.*?> (.*?)<div class=.*?screenshot_box.*"
;поиск нужного куска html кода
$sRezultat=StringregExpReplace($sFile,$pattern, "\1")
;отсеивание ненужного мусора.
$sRezultat2=StringregExpReplace($sRezultat,"(<.?span>)|(<br.*?>)|(<.?a>)|<a class=.*?>|(\t)", " ")
MsgBox(0, "Body Text", $sRezultat2) ;нужно только в целях проверки результата
ClipPut($sRezultat2)
$sRezultat2 = StringFormat("First Line\nSecond Line\nThird Line")
$sFirstLineText = StringRegExpReplace($sRezultat2, "\A(?s)(.*?)[\r|\n].*", "\1")
ConsoleWrite($sFirstLineText & @CRLF)
ClipPut($sFirstLineText)
$oTitle = _IEGetObjByName($oIE,"title")
_IEFormElementSetValue ($oTitle, $sFirstLineText)

Creat0R
04-03-2009, 18:57
Попробовал... в итоге почему то выдает First Line »
Не вижу эту “пробу” :) - В примере $sRezultat2 содержит строку "First Line\nSecond Line\nThird Line", отсюда и вывод, что StringRegExpReplace далее вернёт первую строку («First Line»).

Т.е второй $sRezultat2 не нужен.

r35TnX
06-03-2009, 03:06
Спасибо. все работает.

Не могли бы Вы посоветовать литературу для составления паттернов (на русском языке)?

Creat0R
06-03-2009, 07:12
Не могли бы Вы посоветовать литературу для составления паттернов »
http://forum.oszone.net/post-1056201.html#post1056201




© OSzone.net 2001-2012