none
select case 想取得包含特定文字的字串 卻一直失敗 RRS feed

  • 問題

  • 想請問,需要在輸入的TEXTBOX 判斷是否含有指定文字

    如例一,但預想得到的結果是 "字串包含我",可是卻會跳到另一個結果。如果比對整串的又會比對成功。

    是我不該使用SELECT CASE,還是寫法錯了才會得到不在預期的結果 QQ

    補充:我後來用30多個esleif的算式達成了目的,但想知道為什麼 select case 卻沒辦法使用 qq

    例一,結果顯示"字串不包含我"

            Me.TextBox1.Text = "我是誰"
    
            Select Case Me.TextBox1.Text
                Case Me.TextBox1.Text.IndexOf("我") <> -1
                    MsgBox("字串包含我")
                Case Else
                    MsgBox("字串不包含我")
            End Select

    例二,結果顯示"比對成功"

            Me.TextBox1.Text = "我是誰"
    
            Select Case Me.TextBox1.Text
                Case "我是誰"
                    MsgBox("比對成功")
                Case Else
                    MsgBox("比對不成功")
            End Select


    • 已編輯 想不到ID 2019年7月4日 下午 09:41 補充
    2019年7月4日 下午 09:14

解答

  • 判斷字串是否包含指定內容可以用Contains函式:

    Me.TextBox1.Text = "我是誰"
    
    If (Me.TextBox1.Text.Contains("我是誰")) Then
        MsgBox("比對成功")
    Else
        MsgBox("比對不成功")
    End If

    2019年7月5日 上午 12:51