Comparando arquivos não funcionando conforme o esperado

oi pessoal alguém poderia me explicar por que isso não funciona.

Basicamente, tenho que arquivos de texto chamados Livros e NewBooks ...

Os arquivos de texto são preenchidos a partir de uma solicitação da Web e as informações são analisadas nos arquivos de texto ... quando inicio o programa Livros e novos livros são idênticos e praticamente uma cópia um do outro.

mais solicitações da web são feitas para atualizar o arquivo de texto do NewBooks e quando eu comparo-as, se houver uma linha no NewBooks que não esteja no Books, ela adiciona essa linha a um terceiro arquivo de texto chamado myNewBooks. Agora meu código inicial que mostrarei aqui funciona como eu esperava

Dim InitialBooks = File.ReadAllLines("Books.json")
    Dim TW As System.IO.TextWriter
    'Create a Text file and load it into the TextWriter 
    TW = System.IO.File.CreateText("myNewBooks.JSON")

    Dim NewBooks = String.Empty
    Using reader = New StreamReader("NewBooks.json")
        Do Until reader.EndOfStream
            Dim current = reader.ReadLine
            If Not InitialBooks.Contains(current) Then 
                NewBooks = current & Environment.NewLine

                TW.WriteLine(NewBooks)
                TW.Flush()
                'Close the File 
            End If
        Loop
    End Using
    TW.Close() : TW.Dispose()

mas como parte da string nas linhas do meu arquivo de texto contém um URL que, às vezes, encontro o mesmo livro com um URL diferente ... Eu estava recebendo entradas duplicadas de livros porque o URL era a única diferença. Então, pensei em dividir a string antes do URL para comparar o título, a descrição e a região ... Por exemplo, uma linha nos meus arquivos de texto é semelhante a esta:

{"Título": "Meu título aqui", "Descrição": "Minha descrição aqui", "Região": "Minha região aqui", "URL": "Meu URL aqui", "Imagem": "Minha imagem aqui" };

Hoje, um colega me ajudou a descobrir como dividir minha linha para que fique mais parecido com isto:

{"Título": "Meu título aqui", "Descrição": "Minha descrição aqui", "Região": "Minha região aqui", "URL"

o que é ótimo, mas agora, quando comparo, não vejo que a primeira linha contenha a linha de divisão e não entendo o porquê ... aqui está o código após a modificação.

Dim InitialBooks = File.ReadAllLines("Books.json")
    Dim TW As System.IO.TextWriter
    'Create a Text file and load it into the TextWriter 
    TW = System.IO.File.CreateText("myNewBooks.JSON")

    Dim NewBooks = String.Empty
    Using reader = New StreamReader("NewBooks.json")
        Do Until reader.EndOfStream
            Dim current = reader.ReadLine
            Dim splitAt As String = """Url"""
            Dim index As Integer = current.IndexOf(splitAt)
            Dim output As String = current.Substring(0, index + splitAt.Length)
            If Not InitialBooks.Contains(output) Then 
                NewBooks = current & Environment.NewLine

                TW.WriteLine(NewBooks)
                TW.Flush()
                'Close the File 
            End If
        Loop
    End Using
    TW.Close() : TW.Dispose()

Sua sabedoria seria apreciada !!

questionAnswers(1)

yourAnswerToTheQuestion