我需要处理大量消息,做两件基本的事情,将 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
}
}
关于java - 文本中 "marking up"URL 和主题标签的快速方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18461734/