字符串从一个字符串截取到另一个字符串

yuelailiu 2016-01-24 11:25:31
Dim str = "1232beginadkjfkadjfdkajendkdsafjkaj"

Dim strBegin = "begin"
Dim strEnd = "end"

返回的结果 “adkjfkadjfdkaj”

...全文
394 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2016-01-27
  • 打赏
  • 举报
回复
Dim str = "1232beginadkjfkadjfdkajendkdsafjkaj" Dim x = Regex.Match(str, "(?<=begin).*(?<end)").Groups(1).Value
  • 打赏
  • 举报
回复
另外,例如你并不需要区分分隔符出现的次序,那么其实可以简化一下(提高一下性能)
Dim str = "1232beginadkjfkadjfdkajendkdsafjkaj"
Dim key As String() = {"begin", "end"}
Dim result = str.Split(key, StringSplitOptions.None)(1)
总之只要记住,从字符串中匹配和分割内容,可以使用 Split,就行了。
  • 打赏
  • 举报
回复
用一段或者两段字符串作为分隔来截取内容,你可以直接使用 Split 函数。 例如:
Dim str = "1232beginadkjfkadjfdkajendkdsafjkaj"
Dim strBegin As String() = {"begin"}
Dim strEnd As String() = {"end"}
Dim result = str.Split(strBegin, StringSplitOptions.None)(1).Split(strEnd, StringSplitOptions.None)(0)
snvlongquan 2016-01-27
  • 打赏
  • 举报
回复

    '获取两个字符串中间的字符串
    Private Shared Function SearchMidString(ByVal s As String, ByVal s1 As String, ByVal s2 As String) As String
        '获取搜索到的数目  
        Dim n1 As Integer, n2 As Integer
        n1 = s.IndexOf(s1, 0) + s1.Length
        '开始位置  
        n2 = s.IndexOf(s2, n1)
        '结束位置  
        Return s.Substring(n1, n2 - n1)
        '取搜索的条数,用结束的位置-开始的位置,并返回  
    End Function
调用方法:SearchMidString(str,strBegin,strEnd) 不谢。
rmini 2016-01-25
  • 打赏
  • 举报
回复
先查找第一个字符串的位置+字符串本身长度,然后再查第二个字符串的位置,就可以取到他们中间的字符串了
Poopaye 2016-01-24
  • 打赏
  • 举报
回复
Dim _begin = str.IndexOf(strBegin) + strBegin.Length
Dim _end = str.LastIndexOf(strEnd)
Dim _result = str.Substring(_begin, _end - _begin))

16,555

社区成员

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

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