如何删除VB.NET字符串中的字符

如何删除VB.NET字符串中的字符,vb.net,string,Vb.net,String,我有一个VB.NET字符串,我只需要它的一部分。 字符串的结构与此类似: RANDOM DATA 123456 ---BEGIN--- part I need of the string ---END--- RANDOM DATA 123456 我只知道,在我需要的部分之前,有“---开始----”和之后有“---结束----” 我怎么能把所有的东西都剪掉,只保留“我需要的那根绳子的一部分”?剪切--BEGIN--和--END--也很重要。您可以使用IndexOf查找开始和结束字符串的位置以及

我有一个VB.NET字符串,我只需要它的一部分。 字符串的结构与此类似:

RANDOM DATA 123456 ---BEGIN--- part I need of the string ---END--- RANDOM DATA 123456
我只知道,在我需要的部分之前,有“---开始----”和之后有“---结束----”


我怎么能把所有的东西都剪掉,只保留“我需要的那根绳子的一部分”?剪切--BEGIN--和--END--也很重要。

您可以使用IndexOf查找开始和结束字符串的位置以及提取所需部分的子字符串

Dim myString As String = "RANDOM DATA 123456 ---BEGIN--- part I need of the string ---END--- RANDOM DATA 123456"
Dim startPos As Integer = myString.IndexOf("---BEGIN---")
Dim endPos As Integer = myString.IndexOf("---END---")
Dim shortString As String = myString.SubString(startPos + 11, endPos - startPos - 11)

如果字符串可能不同时包含开始字符串和结束字符串,则应检查startPos或endPos是否小于0(表示“未找到”)

以下是正则表达式方法。请注意,如果数据中有多个集合,它将查找所有引用。我修改了您的示例字符串以演示这一点:

Imports System.Text.RegularExpressions
Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim raw As String = "RANDOM DATA 123456 ---BEGIN--- part I need of the string ---END--- RANDOM DATA 123456" & _
            "RANDOM DATA 123456 ---BEGIN--- another part I want ---END--- RANDOM DATA 123456" & _
            "RANDOM DATA 123456 ---BEGIN--- more stuff I want ---END--- RANDOM DATA 123456"


        Dim pattern As String = "---BEGIN---(.*?)---END---"
        For Each G As Match In Regex.Matches(raw, pattern)
            Dim data As String = G.Groups(1).Value
            Debug.Print(data)
        Next
    End Sub

End Class

欢迎来到堆栈溢出!请花点时间仔细回顾一下: