2010-06-02 44 views
0

基本上,我已經有了一個連接到IRC的vb.net腳本,我正在努力使它成爲一個基本的聊天系統,已經遇到了問題。如何從vb.net的原始IRC數據獲取暱稱和消息

說我收到此:

:[email protected] PRIVMSG #channel :message

我想抓住特定信息輸出給用戶。

我要搶nicknamemessage

我怎麼能去這樣做?

我想過使用正則表達式,但我無法弄清楚如何使正則表達式抓住message,因爲之後沒有任何東西。

+0

您是否嘗試過我在下面發佈的代碼,從IRC消息中解析出您想要的信息? – N0Alias 2010-06-05 14:24:09

回答

0

我愛IRC。假設您的原始數據位於變量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

您可以使用RegEx獲取第一個和!之間的所有內容。

,然後尋找一切最後#channel之間:和線

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

這是簡單的,但應考慮到,有人可能會使用一個分號結束( :)在消息中。

相關問題