避免删除下划线和数字

时间:2016-09-15 20:30:59

标签: regex vbscript

我试图消除所有小写字符,但VBScript正在删除所有下划线,小写字母和数字。我怎样才能使它只取出小写字母并且不会消除我的其他字符?

With CreateObject("VBScript.RegExp")
    .Pattern = "[^A-Z ]"
    .Global = True
    For Each cell In Worksheets("Sheet1").Range("C1:C25")
        If Not IsEmpty(cell.Value) Then _
            cell.Value = Application.Trim(.Replace(cell.Value, ""))
    Next cell
End With​

2 个答案:

答案 0 :(得分:6)

小写字母正则表达式为[a-z]

你的正则表达式 - [^A-Z ] - 匹配任何不是大写字母和空格的字符,因此它匹配的不仅仅是小写字母。

由于您要删除这些字母,因此最好在+之后添加[a-z]量词,以匹配1个或多个匹配项:

.Pattern = "[a-z]+"

答案 1 :(得分:0)

.Pattern = "[a-z]+" 

应该做你所追求的,这应该贪婪地匹配所有小写字母,或者如果你想走另一条路并确保所有被捕获的是数字和_你可以做:

.Pattern = "[0-9_A-Z]+"

哪个匹配0-9,A-Z和_而不是其他