如何找到“小写字符"的第一个实例?在牢房里? [英] How to find the first instance of a "lower case character" in a cell?

查看:40
本文介绍了如何找到“小写字符"的第一个实例?在牢房里?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆