J'ai récemment écrit quelque chose qui devrait faire l'affaire bien, si la liste de proxy contient 1 IP par ligne sans espace blanc à la fin qui est.
Bien qu'il ne s'agisse pas du code le plus optimisé, cela fonctionne plutôt bien, voici quelques résultats de l'analyse d'une liste d'environ 6000 proxys.
Vous souhaitez utiliser comme tel.
IO.File.WriteAllText("C:\ProxyOut.txt", ParseProxyList(IO.File.ReadAllText("C:\ProxyIn.txt"), 8080, 80, 431, 13))
EDIT: Oh, je viens de lire c'était pour une zone de texte, l'utilisation ne devrait pas être différente
TextBoxOut.Text = ParseProxyList(TextBoxIn.Text, 8080, 80, 431, 13))
Et la fonction elle-même:
Private Function ParseProxyList(ByVal list As String, ParamArray ports() As Integer)
Dim splitList() As String = list.Split(vbCrLf)
Dim sb As System.Text.StringBuilder = New System.Text.StringBuilder()
Dim outputLinesCount As Integer = 0
For Each line As String In splitList
Dim bContainsPort As Boolean = False
For Each port As Integer In ports
If line.EndsWith(":" & port.ToString) Then
bContainsPort = True
End If
Next
If bContainsPort = False Then
sb.AppendLine(line)
outputLinesCount += 1
End If
Next
MsgBox(splitList.Count.ToString & "->" & outputLinesCount.ToString & " (" & (splitList.Count - outputLinesCount) & " Removed)")
Return sb.ToString
End Function
** J'ai essayé de Utilisez un StreamReader pour le faire ** S'il vous plaît partagez vos efforts !! –
lecteur en utilisant comme nouveau StreamReader (o.FileName()) Bien que non reader.EndOfStream Dim ligne As String = reader.ReadLine() Dim X As String = line.Contains ("8080") Pour chaque X Dans NsTextBox1 .Text NsTextBox1.Text = NsTextBox1.Text + X sortie Alors que Suivant End While End Using – Frank
S'il vous plaît modifier votre question et collez le code là. Cela aidera aussi les autres à comprendre votre question !!! –