我需要搜索一些字符串,并寻找一个特定的区域开始和走,直到它找到终点,两个点之间的距离将在整个字符串中变化,所以我不能使用基于长度的东西。
下面是我要寻找的一个字符串的示例
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)“,因为这两个点始终保持一致。我该怎么做?
发布于 2021-07-28 16:47:58
获取起始点和结束点的索引,并使用它们从搜索查询中获取子字符串。
你可以用这样的东西。
' 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 Ifhttps://stackoverflow.com/questions/68564049
复制相似问题