如何从字符串中提取字母数字字符?
b:lbalbqsd1287/;:!,
例如: blbalbqsd1287
有可能吗findstr
?
答案1
我认为可以以某种方式批量执行此操作。我不知道怎么做,而且我确信这很痛苦、难以维护且很丑陋。但是,作为替代方案,您可以使用 vbscript 来完成这项工作(也是内置的,并且必须在每个操作系统中都可用)。
我在这里写了这个小家伙供您欣赏 :)
Option Explicit
Dim sInput, sOutput
sInput = "b:lbalbqsd1287/;:!,"
sOutput = RegEXP_VBS(sInput)
Call MsgBox (sOutput)
Function RegEXP_VBS(sIn)
Dim oREGEXP, oResult, oMatch
Set oREGEXP = CreateObject("vbscript.regexp")
oREGEXP.IgnoreCase = False
oREGEXP.MultiLine = False
oREGEXP.Global = True
oREGEXP.Pattern = "[a-zA-Z0-9]"
Set oResult = oREGEXP.Execute(sIn)
For Each oMatch in oResult
RegEXP_VBS = RegEXP_VBS & oMatch.Value
Next
End Function
正如您所看到的,它使用正则表达式来完成这项工作,如果搜索字符串的范围发生变化,您可以相当轻松地进行更改。