Function getString(StringBin)
    getString = ""
    For intCount = 1 To LenB(StringBin)
        getString = getString & Chr(AscB(MidB(StringBin, intCount, 1)))
    Next
End Functionstr1=GetString("中国1234abcd人民CSDN专家门诊")怎么从str1中得到其中的汉字?
比如"中国"?

解决方案 »

  1.   

    Function getString(OriString)
        Dim ts As String, c As String
        For i = 1 To Len(OriString)
            c = Mid(OriString, i, 1)
            If AscW(c) <> Asc(c) Then ts = ts & c
        Next i
        getString = ts
    End Function
      

  2.   

    说具体点,如果已知字符串中的汉字,直接用instr所得不就完了。
      

  3.   

    Function getString(OriString)
        Dim ts As String, c As String
        For i = 1 To Len(OriString)
            c = Mid(OriString, i, 1)
            If AscW(c) <> Asc(c) Then ts = ts & c
        Next i
        getString = ts
    End Function
      

  4.   

    字符串不是任意的,它已经被Getstring函数转化为流了
    怎么从转化后的恢复?
      

  5.   

    Private Sub Command5_Click()
        Dim Str As String, StrChina As String
        Dim i As Integer
        Str = "中国1234abcd人民CSDN专家门诊"
        For i = 0 To Len(Str) - 1
            If Asc(Mid(Str, i + 1, 1)) < 0 Then
                StrChina = StrChina & Mid(Str, i + 1, 1)
            End If
        Next i
        Debug.Print StrChina
    End Sub
      

  6.   

    Private Sub Command5_Click()
        Dim Str As String, StrChina As String
        Dim i As Integer
        Str = "中国1234abcd人民CSDN专家门诊"
        For i = 0 To Len(Str) - 1
            If Asc(Mid(Str, i + 1, 1)) < 0 Then
                StrChina = StrChina & Mid(Str, i + 1, 1)
            End If
        Next i
        Debug.Print StrChina
    End Sub
      

  7.   

    str1=GetString("中国1234abcd人民CSDN专家门诊")怎么从str1中恢复成"中国1234abcd人民CSDN专家门诊"
      

  8.   

    我问的问题不是从"中国1234abcd人民CSDN专家门诊"中的得到汉字
    是Getstring("中国1234abcd人民CSDN专家门诊")后转化后返回值中得到汉字
      

  9.   

    时间匆忙,下面的好象得不到正确的结果, 可以供你参考修改一下,应该接近了:Private Sub Command1_Click()
    Dim bt(1) As Byte
    Dim hr As String, retrunStr As String
    Dim str1 As String
    str1 = getString("中国1234abcd人民CSDN专家门诊")
    For i = 1 To LenB(str1) Step 4
       bt(0) = AscB(MidB(str1, i, 2))
       bt(1) = AscB(MidB(str1, i + 2, 2))
       hr = bt
       retrunStr = retrunStr + hr
    Next iMsgBox retrunStrEnd Sub
      

  10.   

    Function getString(StringBin)
        getString = ""
        For intCount = 1 To LenB(StringBin) step 2
            getString = getString & Chr(AscB(MidB(StringBin, intCount, 1)) & AscB(MidB(StringBin, intCount+1, 1)) )
        Next
    End Functionstr1=GetString("中国1234abcd人民CSDN专家门诊")
      

  11.   

    getstring函数处理过后,原来的信息已经损坏,
    不可能逆转了
      

  12.   

    建议用新的方法来写 getstring()  ,保留原字符串的可逆还原性。
    http://expert.csdn.net/Expert/topic/1996/1996398.xml?temp=.8130304