datatheoz icon

StringUtility VB.Net

datatheoz | PRO | 07/05/15 06:02:06 AM UTC | 0 ⭐ | 509 👁️ | Never ⏰ | []
VB.NET |

1.79 KB

|

None

|

0 👍

/

0 👎

Imports System.Text
 
Public Class StringUtility
    ''' <summary>
    ''' Parse a string out of a string.
    ''' </summary>
    ''' <param name="MainString"></param>
    ''' <param name="StartString"></param>
    ''' <param name="EndString"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Shared Function Parse(mainString As String, startString As String, endString As String) As String
        Dim intTemp As Integer = (mainString.IndexOf(startString, StringComparison.Ordinal) + startString.Length)
        If intTemp = startString.Length - 1 Then Return ""
        mainString = mainString.Substring(intTemp)
        If mainString.IndexOf(endString, StringComparison.Ordinal) <> -1 Then Return mainString.Substring(0, mainString.IndexOf(endString, StringComparison.Ordinal))
        Return ""
    End Function
 
    Public Shared Function ParseToArray(mainString As String, startString As String, endString As String, Optional comparison As StringComparison = StringComparison.Ordinal) As String()
        Dim where As Integer = mainString.IndexOf(startString, comparison)
 
        Select Case where
            Case -1
                Return New String() {}
        End Select
 
        Dim strBuilder As New StringBuilder
        Dim parsed As String() = mainString.Split({startString}, StringSplitOptions.RemoveEmptyEntries)
        If parsed.Length = 0 Then Return New String() {}
        Dim count As Integer = parsed.Length - 1
        For i As Integer = 0 To count
            where = parsed(i).IndexOf(endString, comparison)
            If where <> -1 Then strBuilder.AppendLine(parsed(i).Substring(0, where))
        Next
 
        Return strBuilder.ToString.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries)
    End Function
End Class

Comments