Может кто-нибудь помочь мне написать RegExp, чтобы удалить все символы, кроме цифр и дефиса (знак минус или "-") между ними.
строка выглядит так:
C: \ Documents and Settings \ Пользователь \ Рабочий стол \ Новая папка 2 \ Новая \ папка \ 1586-10 bougsfiugUYG (jygf) hoihd.xls
должно быть:
1586-10
только.
количество цифр до -10 не указано (может быть 4-6); -10 может быть любым двузначным числом ...
чтобы было проще. вот функция, которую я нашел:
Public Function strClean (strtoclean)
Dim objRegExp, outputStr
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "((?![a-zA-Z0-9]).)+"
outputStr = objRegExp.Replace(strtoclean, "-")
objRegExp.Pattern = "\-+"
outputStr = objRegExp.Replace(outputStr, "-")
strClean = outputStr
End Function
шаблон в настоящее время делает это с именами файлов:
C-Документы-и-Настройки-Lena-Desktop-New-Folder-2-New-Folder-2-1588-11-sfiuhsgu- (fgRG75476) -skghgsiu.xls