........3wangjiang 4liumin............
如上字符串,如何取数据:3以后到4前面的空格为止即得到text1.text="wangjiang"?

解决方案 »

  1.   

    先找到要切割的点(就是3和4的地方)
    然后用MID¥
      

  2.   

    Dim P1 As Long, P2 As Long, n As Long, m As Long,
    Text1.text="........3wangjiang 4liumin 5chenlu abcdefg"
    P1 = InStr(1, Text1.Text, 3)
    P2 = InStr(1, Text1.Text, 4)
    n = P1 + 1
    m = P2 - P1 - 1
    Text2.Text = Mid(Text1.Text, n, m) 
    运行结果text2.text="wangjiang " 
    如果把这段程序加入循环中,在最后一次时就会出现text2.text="chenlu abcdefg" 这个abcdefg是我不希望的。这里如何以姓名后的空格来作为结束
      

  3.   

    arrString = split("........3wangjiang 4liumin 5chenlu abcdefg"," ")
      

  4.   

    可以先 split, 以4为分割点。(都是以3,4 出现的吗? 不会出现 3 4 4这种情况吧?)然后分别找到3的位置,  不就取出来了吗?
      

  5.   

    看楼主的目的好象是要把名字取出来我有个想法, 把text1.text中的文件的 空格 替换成 回车,存成1.txt 然后 逐行读出, 因为val("abcdef")=0 故 可以由此判断前面是否带数字, 带数字的话 就是带名字的  不是吗? 然后再提取。
      

  6.   

    str = " kkk aaa bbb 4f 4fdao nww 3wangjiang 4liumin f4x  420fa............"
    dim l as long, r as long
    l =instr(str, 1, "3")
    r = instr(str, l+1, " 4")
    if l<>0 and r <>0 then 
        debug.print mid(str, l, r-l)
    endif