如何截取这个字符串

lijing5916 2011-01-07 03:10:55
现在有一个路径的字符串D:\Nehops_Saas\Source\Front\Batch\\FRB05000\FRB05000_SV
如何才能截取到只剩Batch
如何才能截取到只剩FRB05000
这个路径是变量 但是格式不会变··
请 各位大侠指教~·
...全文
151 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
思考 2011-01-08
  • 打赏
  • 举报
回复
其实如果你格式固定的话,下面代码最简洁:
Dim s As String = "D:\Nehops_Saas\Source\Front\Batch\\FRB05000\FRB05000_SV"
Dim ss() As String = s.Split("\")
MsgBox(ss(4) & "," & ss(6))
思考 2011-01-08
  • 打赏
  • 举报
回复
Dim ss(), ss1(), s1, s2 As String
Dim s As String = "D:\Nehops_Saas\Source\Front\Batch\\FRB05000\FRB05000_SV"

ss = Split(s, "\\")
ss1 = ss(1).Split("\")
s2 = ss1(0)

ss1 = ss(0).Split("\")
s1 = ss1(UBound(ss1))
MsgBox(s1 & "," & s2) '结果 "Batch,FRB05000"
大Y 2011-01-07
  • 打赏
  • 举报
回复

如果路径位置确定的话,这样应该是可以的,试一下




string a ="D:\Nehops_Saas\Source\Front\Batch\\FRB05000\FRB05000_SV";
a.Split(new string[] { "\" }, StringSplitOptions.None)[5].Split(new string[] { "\\" }, StringSplitOptions.None)[0]

tianlinlin08 2011-01-07
  • 打赏
  • 举报
回复
如果只有一个\\,那么index取得\\的位置,截取字符串
取得a=“D:\Nehops_Saas\Source\Front\Batch”
b=“FRB05800\FRB05800_SV”
对于a取得最后一个\的位置,再截取字符串便得到Batch
对于b取得第一个\的位置,再截取字符串便得到FRB05800
lijing5916 2011-01-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wuyazhe 的回复:]
那为什么不是都是\\?
是我说的那个红色位置的文本么?还是后面的?
[/Quote]
没有错
用路径得到的Excel的路径就是D:\Nehops_Saas\Source\Front\Batch\\FRB05800\FRB05800_SV
这个格式的
在Batch后面有两个\\
是在Excel写宏代码截取
兔子-顾问 2011-01-07
  • 打赏
  • 举报
回复
那为什么不是都是\\?
是我说的那个红色位置的文本么?还是后面的?
lijing5916 2011-01-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 q107770540 的回复:]
如何才能截取到只剩Batch
如何才能截取到只剩FRB05000
========
这两句是什么意思?
如何才能截取得到 Batch
如何才能截取得到 FRB05000 ?
[/Quote]
就是分别得到这两个路径
lijing5916 2011-01-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyazhe 的回复:]
如果你的\\是笔误的话。这样。
哦,还有,如果你要的FRB05000是
D:\Nehops_Saas\Source\Front\Batch\FRB05000\FRB05000_SV
这个的话。这样。

VB.NET code

Dim s As String = "D:\Nehops_Saas\Source\Front\Batch\FRB05000\FRB05000_SV"
Dim……
[/Quote]
这个的话确实是这个路径 是两个\\ 因为是日语系统
是在Excel中写代码 得到这个路径
兔子-顾问 2011-01-07
  • 打赏
  • 举报
回复
如果你的\\是笔误的话。这样。
哦,还有,如果你要的FRB05000是
D:\Nehops_Saas\Source\Front\Batch\FRB05000\FRB05000_SV
这个的话。这样。

Dim s As String = "D:\Nehops_Saas\Source\Front\Batch\FRB05000\FRB05000_SV"
Dim m As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(s, "(?n)([^\\]+\\){4}(?<p1>[^\\]+)\\(?<p2>[^\\]+)")
Console.WriteLine(m.Groups(1).Value) 'Batch
Console.WriteLine(m.Groups(2).Value) 'FRB05000
wuyq11 2011-01-07
  • 打赏
  • 举报
回复
string[] arr=str.Split(new char[]{'\\'});
q107770540 2011-01-07
  • 打赏
  • 举报
回复
如何才能截取到只剩Batch
如何才能截取到只剩FRB05000
========
这两句是什么意思?
如何才能截取得到 Batch
如何才能截取得到 FRB05000 ?
叮当66 2011-01-07
  • 打赏
  • 举报
回复
不会vb

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧