Foxtable(狐表)用户栏目专家坐堂 → ZZT0063怎么把这个字符串分成 ZZT 0063 ?


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

主题:ZZT0063怎么把这个字符串分成 ZZT 0063 ?

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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
ZZT0063怎么把这个字符串分成 ZZT 0063 ?  发帖心情 Post By:2015/10/29 16:11:00 [只看该作者]

ZZT0063怎么把这个字符串分成 ZZT     0063  ?不能用LEFT,因为字母不固定

一句代码解决最好

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/29 16:14:00 [只看该作者]

Dim str As String = "abcef001234"
Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "[a-zA-Z]+|[0-9]+")
For i As Integer = 0 To mc.count - 1
    msgbox(mc(i).value)
Next

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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
  发帖心情 Post By:2015/10/29 16:18:00 [只看该作者]

数字分开后我加1就直接变成192了,而不是0192,这个怎么处理?

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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
  发帖心情 Post By:2015/10/29 16:25:00 [只看该作者]

我的目的是在数据库中查找ID最大值,找到后加1,有没有更好的方法?

比如我数据找到:XAT0191
这个字符我希望加1得到:XAT0192

这个有什么好方法?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/29 16:29:00 [只看该作者]

Dim str As String = "abcef001234"
Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "[a-zA-Z0]+|[1-9]+")
If mc.count = 2 Then
    str = mc(0).value & mc(1).value + 1
    msgbox(str)
End If

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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
  发帖心情 Post By:2015/10/29 16:34:00 [只看该作者]

完美解决

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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2015/10/29 17:05:00 [只看该作者]

这样就有问题了吧:Dim str As String = "abcef00999" 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/29 17:06:00 [只看该作者]

那你就判断加1后字符长度是否变化。

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2015/10/29 17:16:00 [只看该作者]

为了美观,也为了留出足够的长度,编码的数字部分,一般是用0补齐固定的位数,本例假设是4位:

Dim str As String = "ZZT0063"
Dim s As String = CStr(CInt(Right(str,4)) + 1).PadLeft(4,"0")
Output.Show(s)

 回到顶部