See how this works for you:
$k = Get-Content C:\Junk\BadWordList.txt
Get-Content C:\Junk\LinesToScrub.txt |
ForEach-Object{
$badword = $false
ForEach($w in $k){
if ($_ -match "\b$w\b"){ # match whole word only...i.e., don't find "twat" in "saltwater"
$badword = $true
break
}
}
if (-not $badword){
$_
}
} | Out-File C:\Junk\NoBadWords.txt