所以我很难找到我在Visual Basic中开发的程序中添加的功能的代码。目前,它通过文本文件进行排序,例如某些程序生成的日志,并显示该文件中包含给定字符串的所有行。我希望能够添加能够选择剪切显示行的某些部分并仅显示我需要的信息的功能,例如:只打印string1之前的字符串部分,字符串2之前,或两个字符串之间。非常感谢任何帮助。
答案 0 :(得分:8)
使用.IndexOf
和Strings.Mid
功能搜索字符串并裁剪出想要的部分:
Dim sSource As String = "Hi my name is Homer Simpson." 'String that is being searched
Dim sDelimStart As String = "my" 'First delimiting word
Dim sDelimEnd As String = "Simpson" 'Second delimiting word
Dim nIndexStart As Integer = sSource.IndexOf(sDelimStart) 'Find the first occurrence of f1
Dim nIndexEnd As Integer = sSource.IndexOf(sDelimEnd) 'Find the first occurrence of f2
If nIndexStart > -1 AndAlso nIndexEnd > -1 Then '-1 means the word was not found.
Dim res As String = Strings.Mid(sSource, nIndexStart + sDelimStart.Length + 1, nIndexEnd - nIndexStart - sDelimStart.Length) 'Crop the text between
MessageBox.Show(res) 'Display
Else
MessageBox.Show("One or both of the delimiting words were not found!")
End If
这将搜索您输入的字符串(sSource
),以查找两个单词sDelimStart
和sDelimEnd
的出现情况,然后使用Strings.Mid
裁剪出两个单词之间的部分这两个字。您需要包含sDelimStart
的长度,因为.IndexOf
将返回单词的开头。