我试图消除所有小写字符,但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
答案 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和_而不是其他