如何找到“小写字符"的第一个实例?在牢房里? [英] How to find the first instance of a "lower case character" in a cell?
本文介绍了如何找到“小写字符"的第一个实例?在牢房里?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在Excel中使用VBA在单元格中查找小写字符"的第一个实例?
我已经尝试过使用ASCII值,但这没用.
How to find the first instance of a "lower case character" in a cell using VBA in Excel?
I have tried using ASCII values but that didn't work.
推荐答案
Private Function DeleteLowerCasesLike(InputString As String) As String
Dim i As Integer
For i = 1 To Len(InputString)
If Mid(InputString, i, 1) Like "[a-z]" Then
InputString = Left(InputString, i - 1) & Mid(InputString, i + 1)
i = i - 1
End If
Next
DeleteLowerCasesLike = InputString
End Function
另一个 RegExp
解决方案,需要添加对 Microsoft VBScript正则表达式1.0
的引用(在 VBA
窗口中, Tools->参考
菜单)
Another RegExp
solution which needs to addig referance to Microsoft VBScript Regular Expressions 1.0
(In the VBA
window, Tools->Referances
menu)
Private Function DeleteLowerCasesRegExp(InputString As String)
Dim RE As New RegExp
With RE
.Global = True
.IgnoreCase = False
.Pattern = "[a-z]"
DeleteLowerCasesRegExp = .Replace(InputString, "")
End With
End Function
另一种解决方案,也没有 Like
都没有使用 RegExp
:
And another solution nor Like
neither RegExp
is used:
Private Function DeleteLowerCasesAsc(InputString As String) As String
Dim i As Integer
For i = 1 To Len(InputString)
If Mid(InputString, i, 1) = Empty Then Exit For
If Asc(Mid(InputString, i, 1)) >= 97 And Asc(Mid(InputString, i, 1)) <= 122 Then
InputString = Left(InputString, i - 1) & Mid(InputString, i + 1)
i = i - 1
End If
Next
DeleteLowerCasesAsc = InputString
End Function
使用 replace
函数的另一种解决方案:
Another solution in which replace
function is used:
Private Function DeleteLowerCasesReplace(InputString As String) As String
Dim i As Integer
For i = 97 To 122
InputString = Replace(InputString, Chr(i), "")
Next
DeleteLowerCasesReplace = InputString
End Function
这篇关于如何找到“小写字符"的第一个实例?在牢房里?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文