Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Не знаю на сколько будет полезно, но вот прототип функции _StringRegExpReplaceCallBack(), на идею натолкнул запрос в баг-трекере офф. форума:

Код: Выделить весь код
$sString = "This is a Test, a _StringRegExpReplaceCallBack test"
$sRetVar = _StringRegExpReplaceCallBack($sString, "(?i)\bt[^ ]+", "_UpperMatches")

MsgBox(64, "Results", StringFormat("Было:\n%s\n\nСтало:\n%s\n\n\n" & _
        "Все слова начинающиеся с буквы <T> преобразованы в верхний регистр при помощи a.k.a Callback функции (_UpperMatches()) :)", $sString, $sRetVar))

Func _StringRegExpReplaceCallBack($sTest, $sPattern, $sFunction)
    Local $aMatches = StringRegExp($sTest, $sPattern, 3)
    Local $sReplace

    For $i = 0 To UBound($aMatches)-1
        $sReplace = Call($sFunction, $aMatches[$i])
        If @error Then Return SetError(1, 0, $sTest)

        $sTest = StringReplace($sTest, $aMatches[$i], $sReplace, 1, 1)
    Next

    Return $sTest
EndFunc

Func _UpperMatches($sMatch)
    Return StringUpper($sMatch)
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 14:41, 01-10-2008 | #955