我需要处理大量消息,做两件基本的事情,将 URL 和主题标签转换为链接。有很多方法可以做到这一点,但是 java 中 CPU 和内存效率最高的方法是什么?例如:
This is some #text with for http://mysite.com/
变成:
This is some <a href="">#text</a> for <a href="">http://mysite.com/</a>
我需要处理大量消息,做两件基本的事情,将 URL 和主题标签转换为链接。有很多方法可以做到这一点,但是 java 中 CPU 和内存效率最高的方法是什么?例如:
This is some #text with for http://mysite.com/
变成:
This is some <a href="">#text</a> for <a href="">http://mysite.com/</a>
我的第一个想法是两次调用String.replaceAll()
,一个用于标签,一个用于链接。该代码将是可读的并且非常快。
我的第二个想法是更快,但更丑陋。一次完成所有事情的东西。大概的概念:
final String message = "This is some #text with for http://mysite.com/";
for (int i = 0; i < message.length; i++)
{
if (message[i] == '#')
{
// mark a hashtag
}
else if (i < message.length - 6 && (message[i] == 'h' || message[i + 1] == 't' || message[i + 2] == 't' || message[i + 3] == 'p' || message[i + 4] == ':' || message[i + 5] == '/' || message[i + 6] == '/'))
{
// mark a link
}
}