String VB.NET2010-获取引号中字符串的子字符串

String VB.NET2010-获取引号中字符串的子字符串,string,vb.net,substring,String,Vb.net,Substring,我有一个包含一些行的文件。我设法找到了一个循环中的所有行。我需要的行如下所示:(PS:I thinnk这里可以使用regex来实现这个…) 此文件包含更多行,但abcd将更改为任何行。也可能有不同的空白,如 if "%testfile%" =="abcd" ( 等等 我想去 abcd 在循环中的一个变量中,我可以进一步使用它 以下部分正在执行:(lineArray.Item(x)包含整行) 你完全正确,这可以用正则表达式来完成。我建议采用这种模式: (?<=if\s+"%testf

我有一个包含一些行的文件。我设法找到了一个循环中的所有行。我需要的行如下所示:(PS:I thinnk这里可以使用regex来实现这个…)

此文件包含更多行,但abcd将更改为任何行。也可能有不同的空白,如

if  "%testfile%" =="abcd" ( 
等等

我想去

abcd
在循环中的一个变量中,我可以进一步使用它

以下部分正在执行:(lineArray.Item(x)包含整行)


你完全正确,这可以用正则表达式来完成。我建议采用这种模式:

(?<=if\s+"%testfile%"\s*==\s*)".*?"(?=\s+\()

你完全正确,这可以用正则表达式来完成。我建议采用这种模式:

(?<=if\s+"%testfile%"\s*==\s*)".*?"(?=\s+\()

如果
abcd
永远不包含双引号,则您可以在
上拆分字符串并取第四部分。答案对您有帮助吗?如果
abcd
永远不包含双引号,则您可以在
上拆分字符串并取第四部分。答案对您有帮助吗?随便
(?<=if\s+"%testfile%"\s*==\s*)".*?"(?=\s+\()
Imports System
Imports System.Text.RegularExpressions

Public Class Example
    Public Shared Sub Main()
        Dim pattern As String = "(?<=if\s+""%testfile%""\s*==\s*)"".*""(?=\s+\()"
        Dim input As String = "if  ""%testfile%"" ==""abcd"" ( "
        Dim options As RegexOptions = RegexOptions.Multiline

        For Each m As Match In Regex.Matches(input, pattern, options)
            Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index)
        Next
    End Sub
End Class