【发布时间】:2016-05-19 04:12:21
【问题描述】:
我在解析 IRC 数据时遇到问题。我有它的工作代码,但是当用户在消息中包含一个 URL 时,它会变得一团糟,我找不到解决方法。这是我当前的代码。
string message = inputStream.ReadLine();
if (message.Contains("PRIVMSG"))
{
string[] parms = message.Split(':');
string userMessage = parms[2];
return userMessage;
}
例子
:*****!*****@*****.tmi.twitch.tv PRIVMSG #***** :http://www.twitch.tv/
由于http:// 部分,它无法获取完整消息。
【问题讨论】:
-
在继续拆分之前检查
http:... -
如果它有http,我需要拆分它。
-
使用 if 语句来检查它是否有 http 以及它是否改变了你的拆分方式,使用正则表达式,或者其他库来处理 url。如果不是“http”,则照常进行。
-
或者他可以只根据协议解析行,而不是玩弄拆分、正则表达式或其他什么。
-
如果您对解析很认真,请使用更完整的实现,即ircmessagesharp