Foxtable(狐表)用户栏目专家坐堂 → [求助]用什么函数能提取[]中的字符?


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

主题:[求助]用什么函数能提取[]中的字符?

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


加好友 发短信
等级:幼狐 帖子:134 积分:1047 威望:0 精华:0 注册:2014/11/24 11:07:00
[求助]用什么函数能提取[]中的字符?  发帖心情 Post By:2015/6/1 14:19:00 [只看该作者]

dim base as String = "[3][2]"

dim newStr As String

 

newStr =SubString(base,CharIndex("]",base)+2,Len(base)-1-CharIndex("]",base)-1)

 

output.show(newStr)

 

需求:取出[2]中的2。

 

如何写以上意思的代码?

 

 

[此贴子已经被作者于2015/6/1 14:35:05编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/6/1 14:20:00 [只看该作者]

请描述问题, 你这样概念太模糊.无法知道你想实现什么.

字符串处理,得有一定的规则,系统是死的.只要你告诉他规则.他才懂怎么做.

例如.去所有[] 扩起来的

去所有[]括起来的 第二个  

或者取第几位等等,之类的.得有明确的规则

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


加好友 发短信
等级:幼狐 帖子:134 积分:1047 威望:0 精华:0 注册:2014/11/24 11:07:00
[求助]取第二个括号中的数字  发帖心情 Post By:2015/6/1 14:24:00 [只看该作者]

取第二个括号中的数字:

 

拟这样写:

 

SubString(base,CharIndex("]",base)+2,Len(base)-1-CharIndex("]",base)-1)

 

但通不过。。。。 SubString不识别

[此贴子已经被作者于2015/6/1 14:35:41编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/6/1 14:36:00 [只看该作者]

[3] 阿道夫[2]  如果3和2中间会有其他字符就用这段代码
Dim base As String = "[3][2]"
Dim mc As object =  System.Text.RegularExpressions.Regex.Matches(base,"\[\d\]")
MessageBox.show(mc(1).Value)

如果中间没字符就用这段
Dim base As String = "[3][2]"
Dim s As String =  System.Text.RegularExpressions.Regex.Match(base,"(?<=\[\d\])\[\d\]").value
MessageBox.show(s)



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


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

Dim str As String = "[1][2]"
Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "(?<=\[).+?(?=\])")
For i As Integer = 0 To mc.count - 1
    msgbox(mc(i).Value)
Next

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


加好友 发短信
等级:幼狐 帖子:134 积分:1047 威望:0 精华:0 注册:2014/11/24 11:07:00
[分享]一出手就是一大段字符,太感谢!  发帖心情 Post By:2015/6/1 14:38:00 [只看该作者]

我去试试,回头通报结果。

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


加好友 发短信
等级:幼狐 帖子:134 积分:1047 威望:0 精华:0 注册:2014/11/24 11:07:00
[求助]哪里有System.Text的说明或帮助?  发帖心情 Post By:2015/6/1 14:45:00 [只看该作者]

如题

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/6/1 14:47:00 [只看该作者]

微软MSDN

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


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


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


加好友 发短信
等级:幼狐 帖子:134 积分:1047 威望:0 精华:0 注册:2014/11/24 11:07:00
[分享]谢谢。原来是更高一层的东西啊!  发帖心情 Post By:2015/6/1 15:01:00 [只看该作者]

怪不是没在帮助里找到有关信息!!!!

 

我试了一下下面的代码:

 

Dim base As String = "[3][2]"
Dim newStr ,FinalStr As String
Dim Parts() As String = Base.Split("]")
newStr = Parts(1)
FinalStr = newStr.Remove(0,1)
output.show(FinalStr)

 

比较笨,不过是帮助里内容都有的。。。

 

再次感谢几位大师。

 

 


 回到顶部