如何过滤文本框1中的文本(内容是试题)过滤后文本框中变为每行一道题目内容,其他所有全部过滤
试题文本下载: http://pan.baidu.com/s/1eQEf9AU试题文本是这样的
过滤后希望效果是这样的
先谢谢回复的各位大神

解决方案 »

  1.   

    补充 抓取的是题号和分值之间的这些内容,如果题号和分值之间含空格也要保留,其他过滤如
    【第2题】 xxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(2.0分)
    过滤后保留
     xxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      

  2.   

    dim w1,w2,ww,wt,i,j
    w1="所有试题内容..."
    ww=split(w1,"】")
    for i=1 to ubound(ww)''第一个不是题
    w2=split(ww(i),")答:")(0)''去掉答案部分
    j=instrrev(w2,"(")''反向找第一个(
    w1=left$(w2,j-1)''得到纯题目
    debug.print w1
    next
      

  3.   


    文本框最后只显示最后一题Dim w1, w2, ww, wt, i, j
    ww = Split(txtText1.Text, "】")
    For i = 1 To UBound(ww) ''第一个不是题
    w2 = Split(ww(i), ")答:")(0) ''去掉答案部分
    j = InStrRev(w2, "(") ''反向找第一个(
    w1 = Left$(w2, j - 1) ''得到纯题目
    txtText1.Text = w1 & vbCrLf
    Next
      

  4.   

    Sub test()
        Dim w1, w2, ww, wt, i, j
        w1 = "所有试题内容..."
        ww = Split(w1, "】")
        For i = 1 To UBound(ww) ''第一个不是题
            w2 = Split(ww(i), ")答:")(0) ''去掉答案部分
            j = InStrRev(w2, "(") ''反向找第一个(
            w2 = Left$(w2, j - 1) ''得到纯题目
            w1 = w1 & IIf(w1 <> "", vbCrLf, "") & w2
        Next
        txtText1.Text = w1
    End Sub
      

  5.   

    嗯,谢谢,其实我也是大概那么改,但是最后文本框里出现的内容是 原来没处理的文本内容+末尾才是过滤好的一题一行的内容,
    我想最后txtText1.text 里直接出现处理好的一题一行的内容
    因为没处理的试题文本内容是放在txtTEXT1.text里
    所以我是这么写的,不过结果和你上面那个一样
    Dim w1, w2, ww, wt, i, j
        w1 =txtText1.text
        ww = Split(w1, "】")
        For i = 1 To UBound(ww) ''第一个不是题
            w2 = Split(ww(i), ")答:")(0) ''去掉答案部分
            j = InStrRev(w2, "(") ''反向找第一个(
            w2 = Left$(w2, j - 1) ''得到纯题目
            w1 = w1 & IIf(w1 <> "", vbCrLf, "") & w2
        Next
        txtText1.Text = w1
      

  6.   


    嗯,谢谢,其实我也是大概那么改,但是最后文本框里出现的内容是 原来没处理的文本内容+末尾才是过滤好的一题一行的内容,
    我想最后txtText1.text 里直接出现处理好的一题一行的内容
    因为没处理的试题文本内容是放在txtTEXT1.text里
    所以我是这么写的,不过结果和你上面那个一样
    Dim w1, w2, ww, wt, i, j
        w1 =txtText1.text
        ww = Split(w1, "】")
        For i = 1 To UBound(ww) ''第一个不是题
            w2 = Split(ww(i), ")答:")(0) ''去掉答案部分
            j = InStrRev(w2, "(") ''反向找第一个(
            w2 = Left$(w2, j - 1) ''得到纯题目
            w1 = w1 & IIf(w1 <> "", vbCrLf, "") & w2
        Next
        txtText1.Text = w1