start=AKS-RHzlSXSftLGYdBNk.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1&
对于单词' start'的每个实例我需要能够在第一次完整停止后获取文本,直到&符号。例如。 ' eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1'
这将有多个实例。它们需要附加到列表框中。
最简单/最快捷的方法是什么? (使用可能的streamreader - 文本文件)
答案 0 :(得分:1)
最简单,最快捷的方法是阅读每一行,并检查它是否为.StartsWith("start=")
。如果是,请获取.IndexOf(".")
和.IndexOf("&", <whereever the first indexOf was>)
。获取包含这两个值的.SubString
。我确定你可以自己编写代码;)
答案 1 :(得分:0)
我通过单击按钮测试了此功能,在文本框的每一行输出文本。我相信你可以根据你的代码进行调整。
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
txtResults.Text = ""
Dim ParseString As String
ParseString = "start=123341.23124&kjdshfkjsdaksdstart=1231.2321312&kadhskjashdkjastart=1231.23126789898&skjdfhkjsd"
Dim Delimiters() As String = New String() {"start="}
Dim Words() As String
Words = ParseString.Split(Delimiters, CompareMethod.Text)
For Each Part In Words
Dim Middle As String
Middle = Part.Split(".").Skip(1).Take(1).FirstOrDefault()
Dim Good As String
Good = Middle.Split("&").FirstOrDefault()
txtResults.Text += Good + vbNewLine
Next
End Sub
输出
23124
2321312
23126789898
在一个字符串中添加31104行并运行,在我的笔记本电脑上运行大约需要11秒。您的应用可能太慢了吗?