以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]用什么函数能提取[]中的字符? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69205) |
-- 作者:whyfoxtable -- 发布时间: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 -- 发布时间:2015/6/1 14:20:00 -- 请描述问题, 你这样概念太模糊.无法知道你想实现什么. 字符串处理,得有一定的规则,系统是死的.只要你告诉他规则.他才懂怎么做. 例如.去所有[] 扩起来的 去所有[]括起来的 第二个 或者取第几位等等,之类的.得有明确的规则
|
-- 作者:whyfoxtable -- 发布时间: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 -- 发布时间: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) |
-- 作者:大红袍 -- 发布时间: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 -- 发布时间:2015/6/1 14:38:00 -- [分享]一出手就是一大段字符,太感谢! 我去试试,回头通报结果。 |
-- 作者:whyfoxtable -- 发布时间:2015/6/1 14:45:00 -- [求助]哪里有System.Text的说明或帮助? 如题 |
-- 作者:Bin -- 发布时间:2015/6/1 14:47:00 -- 微软MSDN |
-- 作者:大红袍 -- 发布时间:2015/6/1 14:47:00 -- 看一下
|
-- 作者:whyfoxtable -- 发布时间:2015/6/1 15:01:00 -- [分享]谢谢。原来是更高一层的东西啊! 怪不是没在帮助里找到有关信息!!!!
我试了一下下面的代码:
Dim base As String = "[3][2]"
比较笨,不过是帮助里内容都有的。。。
再次感谢几位大师。
|