Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Аватара для Creat0R

Must AutoIt


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

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


amel27
На основе твоего примера для определения цифрового значения, я сделал функцию для обнажения всех НЕ числовых значении, т.е в результате возвращается значение содержащее только цифры:

Код: Выделить весь код
Func _StringStripNotNumber($String, $RetType=0)
    If StringLen($String) < 2 Then
        If StringRegExp($String, '^ *([0-9]+\.{0,1}[0-9]*|0x[0-9]+) *$') Then Return $String
        Return ""
    EndIf
    Local $i, $RetNumber, $AllStringArr = StringSplit($String, "")
    For $i = 1 To $AllStringArr[0]
        If StringRegExp($AllStringArr[$i], '^ *([0-9]+\.{0,1}[0-9]*|0x[0-9]+) *$') Then $RetNumber &= $AllStringArr[$i]
    Next
    If $RetType = 1 And StringLen($RetNumber) >= 1 Then
        $AllStringArr = StringSplit($RetNumber, "")
        Return $AllStringArr
    EndIf
    Return $RetNumber
EndFunc
Если в качестве второго параметра поставить 1, то функция вернёт массив с найденными цифрами, если оставить по умолчанию (0), то возвращается обычная переменная с найденными цифрами.

Может у кого то есть более оригинальное название для этой функции? мне если честно ничего другого в голову не пришло.




А как можно получить весь путь до файла, за исключением самого имени файла?
Т.е к примеру, имеем путь C:\test\test.zip - и нужно получить только путь C:\test - хотел бы узнать как это можно осуществить исключительно регулярными вырожениями....

Я до сих пор обходился так:

Код: Выделить весь код
$Path = "C:\test\test.zip"
$Path = StringTrimRight($Path, StringLen(StringRegExpReplace($Path, "^.*\\", ""))+1)
Но может есть путь по короче? я имею в виду так чтобы одной функцией StringRegExpReplace получить этот же эффект.

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

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

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


Отправлено: 04:28, 20-02-2007 | #216