尝试搜索具有起点和终点的字符串

Trying to search through a string with a start and end point

我需要搜索一些字符串并寻找某个区域的起点和终点,两点之间的距离在整个字符串中会有所不同,所以我不能使用基于长度的东西

这是我要查找的字符串之一的示例

IF (SUBSTRING(A.DATE_QUOTE_CNV,1,4) >= '1900' AND SUBSTRING(A.DATE_QUOTE_CNV,1,4) <= '2999' AND SUBSTRING(A.DATE_QUOTE_CNV,5,2) <= '12' AND SUBSTRING(A.DATE_QUOTE_CNV,5,2) >= '01' AND SUBSTRING(A.DATE_QUOTE_CNV,7,2) <= '31' AND SUBSTRING(A.DATE_QUOTE_CNV,7,2) >= '01',CONCAT(SUBSTRING(A.DATE_QUOTE_CNV,1,4),'-',SUBSTRING(A.DATE_QUOTE_CNV,5,2),'-',SUBSTRING(A.DATE_QUOTE_CNV,7,2)))"

我想使用的起点是“IF (SUBSTRING(”,我希望终点是“7,2)))”,因为这两者始终保持一致。我该怎么做?

获取起点和终点的索引,并使用它们从搜索查询中获取子字符串。

你可以使用类似这样的东西。

' stringToSearch is the value you want to search
    ' 
    Dim stringToSearch As String = "<SomeText>IF (SUBSTRING(A.DATE_QUOTE_CNV,1,4) >= '1900' AND SUBSTRING(A.DATE_QUOTE_CNV,1,4) <= '2999' AND SUBSTRING(A.DATE_QUOTE_CNV,5,2) <= '12' AND SUBSTRING(A.DATE_QUOTE_CNV,5,2) >= '01' AND SUBSTRING(A.DATE_QUOTE_CNV,7,2) <= '31' AND SUBSTRING(A.DATE_QUOTE_CNV,7,2) >= '01',CONCAT(SUBSTRING(A.DATE_QUOTE_CNV,1,4),'-',SUBSTRING(A.DATE_QUOTE_CNV,5,2),'-',SUBSTRING(A.DATE_QUOTE_CNV,7,2)))<SomeText>"

    Dim startPoint As String = "IF (SUBSTRING("
    Dim endPoint As String = "7,2)))"
    Dim result As String = String.Empty

    If stringToSearch.Contains(startPoint) And stringToSearch.Contains(endPoint) Then

        Dim startIndex = stringToSearch.IndexOf(startPoint)
        Dim endIndex = stringToSearch.IndexOf(endPoint)

        ' search result
        result = stringToSearch.Substring(startIndex, endIndex - startIndex + endPoint.Length)

    End If