2010-06-02 7 views
0

Eh bien, j'ai un script vb.net qui se connecte à IRC, et je travaille à en faire un système de base de discussion, mais je J'ai rencontré un problème.Comment puis-je obtenir le surnom et le message des données IRC brutes dans vb.net

Dire que je reçois ceci:

:[email protected] PRIVMSG #channel :message

Je veux saisir des informations spécifiques à la sortie à l'utilisateur.

Je veux saisir nickname et message

Comment puis-je prendre?

Je pensais utiliser regex, mais je n'arrive pas à comprendre comment faire regex saisir message car il n'y a rien après.

+0

Avez-vous essayé le code que j'ai posté ci-dessous qui analyse l'information que vous voulez d'un message IRC? – N0Alias

Répondre

0

J'aime l'IRC. Le code suivant fera ce que vous voulez en supposant que vos données brutes sont dans la variable strData.

Dim strNickName As String = String.Empty 
Dim strMessage As String = String.Empty 

Dim intToMessage As Integer = 0 
Dim intParse As Integer = 0 

intParse = InStr(strData, "!") 
strNickName = Mid(strData, 2, (intStart - 2)) 

intToMessage = InStr(strData, "PRIVMSG #") 
intParse = InStr(Mid(strData, intToMessage, (Len(strData) - intToMessage)), ":") 
strMessage = Mid(strData, (intToMessage + intStart), (Len(strData) - (intToMessage + intStart - 1))) 
0

Vous pouvez utiliser RegEx pour obtenir tout entre le premier: et!

puis chercher tout entre le dernier #channel: et la fin de la ligne

(?<=#channel :).*?(?=$) 

est simple mais doit tenir compte du fait que quelqu'un peut utiliser un point-virgule (:) dans le message.