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

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

Аватара для Creat0R

Must AutoIt


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

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


Такой вопрос касательно RegExp...

К примеру имеем такую переменную:

Код: Выделить весь код
$String = "This   is   the   text"
И нужно используя StringRegExpReplace() заменить все двоичные пробелы на одиночные, т.е чтобы в результате получилось это:

Код: Выделить весь код
$String = "This is the text"
Это можно сделать циклом:

Код: Выделить весь код
While StringInStr($String, '  ')
	$String = StringReplace($String, '  ', ' ')
WEnd
Но полагаю RegExp быстрее справится с этой задачей....

P.S
Желательно организовать для этого функцию, т.к вызывать придётся не раз, и использовать разные удвоенные символы...

Вот пример этой же функции используя цикл (до сих пор ею и пользуюсь) :

Код: Выделить весь код
Func ReplaceUnsupported($String, $Patern='[*?\\/|:<>"]', $Replace="_")
    If StringLen($String) = 0 Then Return $String
    $String = StringRegExpReplace($String, $Patern, $Replace)
    While StringInStr($String, $Replace & $Replace) <> 0
        $String = StringReplace($String, $Replace & $Replace, $Replace)
    WEnd
    Return $String
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


Отправлено: 05:03, 25-06-2007 | #102