如何获取两个输入数据之间的值

时间:2014-07-02 00:16:04

标签: vb.net

我有textbox1和textbox2这将是两个输入的数据,我想得到它们之间的值。而挑战是ASCW角色I和O不包括在内。

我正在使用这个基础代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim tb1 As String = TextBox1.Text
    Dim tb2 As String = TextBox2.Text
    Dim cb As String = ""

    If tb1.Substring(tb1.Length - 1) <> tb2.Substring(tb2.Length - 1) Then

        While (tb1 <> tb2)
            Dim temp As String = tb1.Substring(0, tb1.Length - 1)
            Dim temp1 As Char = tb1(tb1.Length - 1)


           If AscW(UCase(temp1)) >= 48 And AscW(UCase(temp1)) < 90 Then

                temp1 = ChrW(AscW(UCase(temp1)) + 1)
            ElseIf AscW(UCase(temp1)) >= 90 Then
                temp1 = ChrW(AscW(UCase(temp1)) - 42)
            End If
            tb1 = temp & temp1
            If tb1 <> tb2 Then
                cb += tb1 & " "
            End If
        End While
        MessageBox.Show(cb)

    Else
        'Do here

        MessageBox.Show("none")
    End If

End Sub 

基本安排:A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF AG A A A A A A AR AR A AU AV AW AX A A AZ B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA ......等等。

不包括ASCW字符I和O.

示例场景: textbox1 = SF446DNLS textbox2 = SF446DNNZ

输出:

  

SF446DNLT SF446DNLU SF446DNLV SF446DNLW SF446DNLX SF446DNLY SF446DNLZ SF446DNM0 SF446DNM1 SF446DNM2 SF446DNM3 SF446DNM4 SF446DNM5 SF446DNM6 SF446DNM7 SF446DNM8 SF446DNM9 SF446DNMA SF446DNMB SF446DNMC SF446DNMD SF446DNME SF446DNMF SF446DNMG SF446DNMH SF446DNMJ SF446DNMK SF446DNML SF446DNMM SF446DNMN SF446DNMP SF446DNMQ SF446DNMR SF446DNMS SF446DNMT SF446DNMU SF446DNMV SF446DNMW SF446DNMX SF446DNMY SF446DNMZ SF446DNN0 SF446DNN1 SF446DNN2 SF446DNN3 SF446DNN4 SF446DNN5 SF446DNN6 SF446DNN7 SF446DNN8 SF446DNN9 SF446DNNA SF446DNNB SF446DNNC SF446DNND SF446DNNE SF446DNNF SF446DNNG SF446DNNH SF446DNNJ SF446DNNK SF446DNNL SF446DNNM SF446DNNN SF446DNNP SF446DNNQ SF446DNNR SF446DNNS SF446DNNT SF446DNNU SF446DNNV SF446DNNW SF446DNNX SF446DNNY SF446DNNZ

1 个答案:

答案 0 :(得分:0)

Extract data really slow with a 30MB random data file上查看我的其他答案,以便使用正则表达式搜索两个字符串:

如果您需要排除I和O,请使用^(基于上述答案中的代码):

Dim allData = "nonmatch2_strA_match_strB_nonmatch2"
Dim r = Regex.Match(allData, "strA([^IO]*)strB")

您可以进一步微调表达式,只接受数字+字符,但不使用I和O