我需要一些帮助。
我需要在多个textbox1,textbox2,textbox3上的Quot(“”)上获得文本文件值。但只能获得价值(textbox1上的第一个值)
现在我只得到一个值(Quot上的第一个值)
文本文件(2.txt): C:\ contexture \ img2itp.exe“\ mynetwork \ 1.png”“\ mynetwork \ 2.png”“148”
代码vb:
Using sr As New StreamReader("C:\test\2.txt")
Dim line As String
' Read the stream to a string and write the string to the console.
line = sr.ReadToEnd()
Dim s As String = line
Dim i As Integer = s.IndexOf("""")
Dim f As String = s.Substring(i + 1, s.IndexOf("""", i + 1) - i - 1)
TextBox1.Text = f
感谢您的帮助:)
答案 0 :(得分:0)
什么是正则表达式:
正则表达式是正则表达式引擎尝试在输入文本中匹配的模式。模式由一个或多个字符文字,运算符或构造组成。
来源:https://msdn.microsoft.com/en-us/library/az24scfc(v=vs.110).aspx
在这里,我们可以考虑使用两个正则表达式来解决这个问题的简单版本和更复杂的创建捕获组。
简单的一句:
(["'])(?:(?=(\\?))\2.)*?\1"(.*?)"
以下是解释:https://regex101.com/r/mzSmH5/1
复杂的一个:
Dim value As String = IO.File.ReadAllText("C:\test\2.txt")
Dim matches As MatchCollection = Regex.Matches(value, """(.*?)""")
' Loop over matches.
For Each m As Match In matches
' Loop over captures.
For Each c As Capture In m.Captures
' Display.
Console.WriteLine("Index={0}, Value={1}", c.Index, c.Value)
Next
Next
以下是解释:https://regex101.com/r/7ZMVsB/1
这将是Regex.Matches的工作,其工作原理如下:
VLOOKUP