我需要从A-Z,a-z,0-9之外的字符串中完全删除所有特殊字符(可见/不可见)的功能。我已经准备好了一些函数,我发现它的离开逗号(,)不知何故:O。也许更多我不知道。请你看看和建议:
Function RemoveSpecialChars(Tekst As String) As String
Dim a$, b$, c$, i As Integer
a$ = Tekst
For i = 1 To Len(a$)
b$ = Mid(a$, i, 1)
If b$ Like "[A-Z,a-z,0-9]" Then
c$ = c$ & b$
End If
Next i
RemoveSpecialChars = c$
End Function
答案 0 :(得分:4)
只需删除逗号:
If b$ Like "[A-Za-z0-9]" Then
正如Visual Basic所说on MSDN:
要为同一个字符位置指定多个范围,请将它们放入 在没有分隔符的相同括号内。例如,[A-CX-Z] 如果字符串中的相应字符位置匹配,则结果匹配 包含A-C范围或X-Z范围内的任何字符。
虽然MSDN没有特别提及VBA,但它显示了相同的行为。