Есть ли такая вещь, как Server.FileNameEncode? - PullRequest
0 голосов
/ 30 августа 2011

Есть ли что-то подобное, что оставляет только цифры, буквы и подчеркивание для пробелов?

Server.URLEncode не совсем то, что я ищу.

1 Ответ

2 голосов
/ 30 августа 2011

Нет встроенной функции, как вы описали в ASP.
Но вы можете делать с регулярными выражениями. Может быть следующим:

Function FileNameEncode(ByVal strFileName)
    Dim oReg
    Set oReg = New RegExp
    oReg.IgnoreCase = True
    oReg.Global = True
    oReg.Pattern = "[^a-z\d\s.]+"
    FileNameEncode = Replace(oreg.Replace(strFileName, ""), " ", "_")
    Set oReg = Nothing
End Function

'FileNameEncode("letters é$- 123ÖÇ.bat") returns "letters__123.bat"

Если вы передадите имя файла без расширения в качестве параметра, вы можете удалить точечный символ из шаблона.

...