До сих пор я вручную добавлял символы, которые заменяли мой код. Я хотел бы быть немного более активным, поэтому я нашел эту функцию, которая должна заменить все, кроме допустимых символов. Мое первое препятствие - это то, что это не работает. Код ниже - это мой полный тестовый файл, и MsgBox отображается пустым.
Мой второй вопрос касается производительности. Эта функция обрабатывает очень и очень большие строки. Будет ли этот метод значительно медленнее? Кто-нибудь порекомендует что-нибудь еще?
Function CleanUp (input)
Dim objRegExp, outputStr
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "((?![a-zA-Z0-9]).)+"
outputStr = objRegExp.Replace(input, "-")
objRegExp.Pattern = "\-+"
outputStr = objRegExp.Replace(outputStr, "-")
CleanUp = outputStr
End Function
MsgBox (CleanUp("Test"))
Редактировать: я тупой и только что увидел, как я перепутал переменную, из-за чего она ничего не возвращала. Это работает сейчас. Будет по-прежнему принимать входные данные для вопроса о производительности или лучшие предложения.