Public Class FormDupeFinder Const workingDir = "<hidden>\LyricWiki\Artists\workingdir\" Const swaInput = "inp\swa.txt" Const mwaInput = "inp\mwa.txt" Const output = "res\mwa\mwa swa.txt" Private singleWordArtists As New List(Of String) Private Sub LoadSingle() Dim f = IO.File.OpenText(workingDir & swaInput) While Not f.EndOfStream singleWordArtists.Add(f.ReadLine) End While f.Close() End Sub Private Sub Find() ' Do not overwrite old results If IO.File.Exists(workingDir & output) Then MessageBox.Show("Remove the '" & output & "' file and start again.") Exit Sub End If Dim inputFile = IO.File.OpenText(workingDir & mwaInput) Dim outputFile = IO.File.CreateText(workingDir & output) While Not inputFile.EndOfStream Dim mwa = inputFile.ReadLine For Each swa As String In From singleWordArtist In singleWordArtists Where mwa.StartsWith(singleWordArtist & " ") OrElse mwa.EndsWith(" " & singleWordArtist) OrElse mwa.Contains(" " & singleWordArtist & " ") Select singleWordArtist outputFile.WriteLine(mwa & vbTab & swa) Next outputFile.Flush() End While outputFile.Close() inputFile.Close() End Sub Private Sub ButtonGo_Click(sender As System.Object, e As System.EventArgs) Handles ButtonGo.Click LoadSingle() Find() End Sub End Class