Vb.net 拆分字符串内所有行中的文本 最初,我们将从web服务器上的文本文件中提取关键字

Vb.net 拆分字符串内所有行中的文本 最初,我们将从web服务器上的文本文件中提取关键字,vb.net,split,Vb.net,Split,将关键字设置为字符串=Split(Split(TempSMTPFile,“#关键字#”)(1),“#关键字#”)(0) 我想创建一个函数,它将拆分字符串中的所有关键字 The keywords in this example will be: ' This list might be changed to more or less keywords. Dim KeyWords As String = "[One=Test1]" & vbNewLine & "[Tw

将关键字设置为字符串=Split(Split(TempSMTPFile,“#关键字#”)(1),“#关键字#”)(0)

我想创建一个函数,它将拆分字符串中的所有关键字

The keywords in this example will be: 

' This list might be changed to more or less keywords.

     Dim KeyWords As String = "[One=Test1]" & vbNewLine & "[Two=Test2]" & vbNewLine & "[Three=Test3]"

        ' I Need a function to split out all keywords and do below check between all splits.

        If KeyWords.ToLower.Contains("[" & Splited_keyword & "=") Then ' One, Two, Three
            MsgBox(Split(Split(KeyWords, "[" & Splited_keyword & "=")(1), "]")(0)) ' Test1, Test2, Test3
        End If

        ' This should print OneTest1, TwoTest2, ThreeTest3
这可以帮助您(未经测试):


谢谢你的评论,我能够用这个解决方案解决这个问题

    Dim str As String() = keywords.Split(New [Char]() {CChar(vbCrLf)})
        For Each s As String In str

            If s.Contains("[") Then
                Dim SplittedKeyword = Split(Split(s, "[")(1), "=")(0)
                If TextUserShortDescription.Text.ToLower.Contains(SplittedKeyword.ToLower) Then
                    MsgBox(SplittedKeyword & (Split(Split(s, "[" & SplittedKeyword & "=")(1), "]")(0)))
                End If
            End If
        Next

使用
字典(字符串、字符串)
不是更好吗?您好。由于关键字未硬编码到应用程序中,但会根据web服务器上的文本文件随时间而变化,我不确定此功能是否是一个好的解决方案?您也可以根据文本文件构建词典。您好。我没有让它工作。我是个新手,所以我可能做错了什么。由于选项严格,必须更改代码:Dim keyValues As String()keyValues=KeyWords.Split(CType(Environment.NewLine,Char()),每个keyvalue作为keyValues MsgBox(keyvalue.Substring)中的字符串(1,CInt(keyvalue.IndexOf(“[”c))和CDbl(keyvalue.Substring(keyvalue.IndexOf(“=”c)),keyvalue.LastIndexOf(“]”c‘‘‘‘‘‘‘‘)下一步
    Dim str As String() = keywords.Split(New [Char]() {CChar(vbCrLf)})
        For Each s As String In str

            If s.Contains("[") Then
                Dim SplittedKeyword = Split(Split(s, "[")(1), "=")(0)
                If TextUserShortDescription.Text.ToLower.Contains(SplittedKeyword.ToLower) Then
                    MsgBox(SplittedKeyword & (Split(Split(s, "[" & SplittedKeyword & "=")(1), "]")(0)))
                End If
            End If
        Next