0

我需要处理大量消息,做两件基本的事情,将 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>
4

1 回答 1

1

我的第一个想法是两次调用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
    }
}
于 2013-08-27T09:47:40.307 回答