Foxtable(狐表)用户栏目专家坐堂 → 字符串的查找匹配问题


  共有11808人关注过本帖树形打印复制链接

主题:字符串的查找匹配问题

帅哥哟,离线,有人找我吗?
blackzhu
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
字符串的查找匹配问题  发帖心情 Post By:2011/9/29 12:24:00 [显示全部帖子]

Dim m As Integer
Dim gs As String ="lkijdhyjekloesmufpamhndmnidmokmnbukasmahdikduPlkadlajflasjfl"
Do While gs.length>0
    Dim gs1 As String =left(gs,4)
    m = gs.length
    gs= gs.Replace(gs1,"")
    output.show(gs1)
 Loop 

这段代码可以产生下面这么多字符串:

lkij
dhyj
eklo
esmu
fpam
hndm
nidm
okmn
buka
smah
dikd
uPlk
adla
jfla
sjfl

 我在文本框只要输入里面任何一组字符串就可一通过,代码怎么补充?

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/9/29 12:56:00 [显示全部帖子]

或者文本框的输入的字符串只要符合Dim gs As String ="lkijdhyjekloesmufpamhndmnidmokmnbukasmahdikduPlkadlajflasjfl" 的任何四个字符就可以通过.

 这个方法是最好的,代码怎么写?

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/9/29 13:27:00 [显示全部帖子]

第二种方法不好

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/9/29 13:29:00 [显示全部帖子]

还是第一种方法比较好

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/9/29 14:51:00 [显示全部帖子]

一楼的谁能给个代码?  只要是文本框的值等于这个代码 产生的任何一个四位数的就可以通过.



Dim m As Integer
Dim gs As String ="lkijdhyjekloesmufpamhndmnidmokmnbukasmahdikduPlkadlajflasjfl"
Do While gs.length>0
    Dim gs1 As String =left(gs,4)
    m = gs.length
    gs= gs.Replace(gs1,"")
    output.show(gs1)
 Loop 

比如这个代码会出来一个字符串为"jfla",我只要在文本框输入这一个就能通过.

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/9/29 15:20:00 [显示全部帖子]

Dim PassWord As String = e.Form.Controls("PassWord").Text
Dim t1 As String = e.Form.Controls("TextBox1").Value
t1= ComputerId
Dim m As Integer
Dim gs1,g As String
Dim gs As String ="lkijdhyjekloesmufpamhndmnidmokmnbukasmahdikduPlkadlajflasjfl"
Do While gs.length>0
    gs1 =left(gs,4)
    m = gs.length
    gs= gs.Replace(gs1,"")
    g = g & gs1 & ","
Loop
For n As Integer = 0 To g.trim(",").split(",").length -1
    If g.trim(",").split(",")(n) = PassWord Then
        e.form.close()
   Else
        MessageBox.Show("授权码错误,请重新输入!")
        PassWord =Nothing        
        Exit For
    End If
Next

通不过  我用msgbox测试g.trim(",").split(",")(n) 这个号码连续三次都是一样的.

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/9/29 17:13:00 [显示全部帖子]

老大是这样的,我描述一下:

 我有一个窗口,上面有一个文本框,一个按钮,按钮里面有一段代码:

 Dim gs As String ="l22k55i22jd88h22y26j4e22k2323lo23223e22323sm4ufp111amhnd1111mnidm4444okmnbuk888asm999ahd4ik9599du221P665lkad99aj55flasjfl"
For i As Integer = 0 To gs.length - 1 Step 6
    Dim l As Integer = Math.Min(6,gs.length -i)
    output.show(gs.Substring(i,l))
Next
 
 这段代码我在命令窗口测试后得到以下十几个6位数字符串:

l22k55
i22jd8
8h22y2
6j4e22
k2323l
o23223
e22323
sm4ufp
111amh
nd1111
mnidm4
444okm
nbuk88
8asm99
9ahd4i
k9599d
u221P6
65lkad
99aj55
flasjf

    问题就是,然后我在文本框里面输入一个六位数的字符串,输入的只要是在上面的这十几个字符串范围之内就可以关闭窗口,否则提示输入的字符串不对.
[此贴子已经被作者于2011-9-29 17:14:36编辑过]

 回到顶部