基本上,我已經有了一個連接到IRC的vb.net腳本,我正在努力使它成爲一個基本的聊天系統,已經遇到了問題。如何從vb.net的原始IRC數據獲取暱稱和消息
說我收到此:
:[email protected] PRIVMSG #channel :message
我想抓住特定信息輸出給用戶。
我要搶nickname
和message
我怎麼能去這樣做?
我想過使用正則表達式,但我無法弄清楚如何使正則表達式抓住message
,因爲之後沒有任何東西。
基本上,我已經有了一個連接到IRC的vb.net腳本,我正在努力使它成爲一個基本的聊天系統,已經遇到了問題。如何從vb.net的原始IRC數據獲取暱稱和消息
說我收到此:
:[email protected] PRIVMSG #channel :message
我想抓住特定信息輸出給用戶。
我要搶nickname
和message
我怎麼能去這樣做?
我想過使用正則表達式,但我無法弄清楚如何使正則表達式抓住message
,因爲之後沒有任何東西。
我愛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)))
您可以使用RegEx獲取第一個和!之間的所有內容。
,然後尋找一切最後#channel之間:和線
(?<=#channel :).*?(?=$)
這是簡單的,但應考慮到,有人可能會使用一個分號結束( :)在消息中。
您是否嘗試過我在下面發佈的代碼,從IRC消息中解析出您想要的信息? – N0Alias 2010-06-05 14:24:09