将代码更改为删除而不是允许字符
Posted
技术标签:
【中文标题】将代码更改为删除而不是允许字符【英文标题】:Alter code to Remove instead of Allow characters 【发布时间】:2015-08-24 22:15:22 【问题描述】:函数allows
列出的字符(在这种情况下)
Case 48 To 57, 65 To 90, 97 To 122:
是否可以将其更改为Remove
列出的字符?
谢谢
Function AlphaNumericOnly(strSource As String) As String
Dim i As Integer
Dim strResult As String
For i = 1 To Len(strSource)
Select Case Asc(Mid(strSource, i, 1))
Case 48 To 57, 65 To 90, 97 To 122:
strResult = strResult & Mid(strSource, i, 1)
End Select
Next
AlphaNumericOnly = strResult
End Function
【问题讨论】:
他们都来自这里***.com/questions/15723672/… 【参考方案1】:如果您打算使用For ... Next
- 只需添加Case Else
:
For i = 1 To Len(strSource)
Select Case Asc(Mid(strSource, i, 1))
Case 48 To 57, 65 To 90, 97 To 122:
Case Else:
strResult = strResult & Mid(strSource, i, 1)
End Select
Next
正如@pnuts 指出和@brettdj answered - RegEx 更有效,在您的情况下,函数可能如下:
Function NonAlphaNumericOnly(strSource As String) As String
With CreateObject("VBScript.RegExp")
.Global = True
.IgnoreCase = True
.Pattern = "[\w]+"
NonAlphaNumericOnly = .Replace(strSource, "")
End With
End Function
【讨论】:
以上是关于将代码更改为删除而不是允许字符的主要内容,如果未能解决你的问题,请参考以下文章
如果内容不存在,如何将此代码更改为 INSERT 而不是 UPDATE? [复制]
将 stripplot seaborn 的标记更改为字符串,而不是标记
如何将 python matplotlib.pyplot 图例标记更改为 1、2、3 之类的序列号,而不是形状或字符?