Foxtable(狐表)用户栏目专家坐堂 → [求助]从一个字符串中提取特定字符的问题


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

主题:[求助]从一个字符串中提取特定字符的问题

帅哥哟,离线,有人找我吗?
狐狸爸爸
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/9 13:51:00 [只看该作者]

Dim s As String = "一二三四五AAA00000六七八"
Dim str As String
For i As Integer = 1 To s.Length-8
    str = Mid(s,i,8)
    If Char.IsLetter(Left(str,3)) And Char.IsNumber(Right(str,5)) Then
        Output.Show(str)
        Exit For
    End If
Next

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


加好友 发短信
等级:幼狐 帖子:172 积分:1323 威望:0 精华:0 注册:2011/6/6 12:22:00
  发帖心情 Post By:2011/8/9 13:57:00 [只看该作者]

为什么要加【Exit For】呢?是不是char的Is类方法只能判断字符串中的第一位字符呀
以下是引用狐狸爸爸在2011-8-9 13:51:00的发言:
Dim s As String = "一二三四五AAA00000六七八"
Dim str As String
For i As Integer = 1 To s.Length-8
    str = Mid(s,i,8)
    If Char.IsLetter(Left(str,3)) And Char.IsNumber(Right(str,5)) Then
        Output.Show(str)
        Exit For
    End If
Next


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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/9 14:29:00 [只看该作者]

如果“AAA00000”后边固定为三个字符,可以试试right函数,

如果“AAA00000”前边固定为“一二三四五”,后边固定为“六七八”,可以试试替换函数replace,

 


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


加好友 发短信
等级:幼狐 帖子:172 积分:1323 威望:0 精华:0 注册:2011/6/6 12:22:00
  发帖心情 Post By:2011/8/9 14:32:00 [只看该作者]

通过以下代码解决。

Dim s As String = "一二三四五AAA00000六七八"
Dim str As String
For i As Integer = 1 To s.Length-7
    str = Mid(s,i,8)
    If str Like "[a-z][a-z][a-z]#####" Then
        Output.Show(str)
    End If
Next

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/9 14:44:00 [只看该作者]

以下是引用xongyijd在2011-8-9 12:29:00的发言:

弄糊涂了,狐狸爸爸能不能用解释含义

本人胡诌了一个,简单的看这个:

Dim s1 As String ="一二三四五AAA00000六七八"
Dim s2 As String
s2 = s1.SubString(5,8)
Output.Show("s2 = " & s2)


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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/9 15:17:00 [只看该作者]

Dim s1 As String ="一二三四五AAA00000六七八"
Dim s2 As String
s2 = s1.SubString(5,8)
Output.Show("s2 = " & s2)

 

发了一次,怎么不见了

这个够简单了,能不能用,自己琢磨

[此贴子已经被作者于2011-8-9 15:17:51编辑过]

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


加好友 发短信
等级:幼狐 帖子:172 积分:1323 威望:0 精华:0 注册:2011/6/6 12:22:00
  发帖心情 Post By:2011/8/9 15:23:00 [只看该作者]

感谢各位热情相助,该问题已经解决。
以下是引用dlovef在2011-8-9 14:32:00的发言:
通过以下代码解决。

Dim s As String = "一二三四五AAA00000六七八"
Dim str As String
For i As Integer = 1 To s.Length-7
    str = Mid(s,i,8)
    If str Like "[a-z][a-z][a-z]#####" Then
        Output.Show(str)
    End If
Next


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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/9 15:25:00 [只看该作者]

更简单就是这样:

 

Dim s1 As String =("一二三四五AAA00000六七八").SubString(5,8)
Output.Show("s1 = " & s1)


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/9 16:02:00 [只看该作者]

楼主自己的代码很好。

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


加好友 发短信
等级:狐神 帖子:6842 积分:43288 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/8/9 16:15:00 [只看该作者]

以下是引用yanzhen2010在2011-8-9 15:25:00的发言:

更简单就是这样:

 

Dim s1 As String =("一二三四五AAA00000六七八").SubString(5,8)
Output.Show("s1 = " & s1)

不通用。


 回到顶部
总数 23 上一页 1 2 3 下一页